Puis-je me connecter ou afficher des sessions ssh abandonnées?

J'ai une instance virtuelle de redhat en cours d'exécution que je peux ssh à partir de n'importe quel hôte sur le réseau d'entreprise. Ma session ssh a été supprimée lors de l'exécution de certains scripts qui peuvent m'être ou non déconnectés. La command who localement répertorie toujours la connection supprimée. Reconnecter avec ssh démarre une toute nouvelle session. Existe-t-il un moyen de se connecter à la session d'origine? Si non, est-ce que je peux le tuer? J'ai un access racine et physique. Je n'utilisais pas l'écran dans la session d'origine.

Vous voulez utiliser l' écran sur la télécommand, puis quand vous revenez en vous reconnecter à cette instance de l'écran.

mais non, vous ne pouvez pas vous reconnecter à une session ssh en elle-même, vous devez utiliser screen (ou autre chose pour faciliter cela).

Regardez cette question pour au less une autre option et quelques différences entre elle (tmux) et l'écran. après avoir lu la réponse à cette question … Je dirais que tmux est mieux

oh et oui vous pouvez kill le process (y compris le bash fourchu) pour l'arrêter, vous pourriez essayer de tuer l'user par son nom, mais je pense que si cet user est root … il pourrait essayer de tuer des choses qu'il ne peut pas.

la réponse a été mise à jour plusieurs fois

Par défaut, vous ne pouvez pas vous reconnecter à une session ssh abandonnée. Cependant, vous pouvez configurer des process dans une session ssh, à laquelle vous pouvez vous reconnecter après avoir rétabli une nouvelle session ssh.

Ce que vous voulez utiliser est l'écran ou mieux encore un wrapper convivial autour de l'écran appelé byobu.

L'écran vous permet d'exécuter plusieurs sessions de terminal virtuel dans la même session ssh. Un tutoriel et des pages d'aide sont disponibles.

byobu est un wrapper qui permet d'ouvrir facilement de nouveaux écrans avec une simple touche de fonction au lieu de la combinaison de touches de ctrl-a. Il montre également une ligne d'état avec tous les terminaux virtuels ouverts qui peuvent être nommés.

Une autre caractéristique intéressante est le fait que tout votre écran peut restr en place pendant que votre connection ssh est déconnectée. Vous venez de vous connecter à nouveau via ssh et appeler byobu et tout est comme avant.

Enfin quelques captures d' écran de byobu.

Comme mentionné, l'écran est probablement votre meilleur pari. Si / quand votre session est supprimée, il continuera à fonctionner. Tapez 'screen-list' pour voir les sessions disponibles, et 'screen -r' avec la session que vous voulez. Un petit conseil, vous pouvez onglet-compléter la string de session plutôt que copyr / coller le tout.

Cependant, l'écran peut être ennuyeux. Dans mon client, vous ne pouvez pas facilement faire défiler vers le haut pour voir l'historique dans la console. Il agit un peu différemment que prévu. Si tout ce que vous voulez faire, c'est de vous assurer que vos longs process ne sont pas tués, utilisez 'nohup'. Cela empêchera votre process d'être arrêté lorsque vous perdez votre connection. Assurez-vous d'envoyer votre sortie proc dans un file si vous souhaitez le surveiller. En outre, si vous avez un script bash, je pense que vous devez appeler explicitement 'bash' devant nohup. Un exemple…

nohup bash ./myscript.sh> output.log 2> & 1 &

Cela signifie que nohup, pour éviter de tuer le proc, bash pour appeler explicitement bash si vous avez des trucs spécifiques bash dans votre script, votre script appelé «myscript.sh» dans le directory courant, output.log comme file à envoyer à la fois std et erreur à, et le '&' à la fin pour exécuter le proc en arrière-plan.