Comment puis-je me déconnecter d'une session SSH ouverte et distante?


48

Je me suis connecté à une machine Linux (shell bash) à partir d'une machine Windows publique (dans notre laboratoire) et j'ai oublié de me déconnecter. Je suis maintenant de retour à ma place dans une autre pièce et je suis trop paresseux pour rentrer et me déconnecter de cette session. Je peux cependant ssh sur la machine Linux à partir de mon PC actuel. Puis-je forcer la déconnexion de l'autre session d'une nouvelle session SSH?

Quand je ssh au poste Linux à partir de mon PC actuel et usersque je tape la commande, je constate que je suis toujours connecté; mon nom est répertorié deux fois - un pour la session en cours et un autre pour la session depuis le PC du laboratoire.

Je n'ai pas les privilèges root sur ladite machine, mais je suppose que cela ne devrait pas avoir d'importance car j'essaie simplement de me déconnecter.

Réponses:


73

Exécutez ttyvotre session en cours pour savoir sur quel tty vous travaillez et ne vous déconnectez pas de la session en cours. Exécuter w pour vous montrer les utilisateurs actuels et les pseudo-terminaux associés (tty). En supposant que vous soyez connecté deux fois et qu'il n'y ait aucun autre utilisateur sur votre serveur ssh, votre session ssh précédente sera allumée pts/0et en cours pts/1. Pour abandonner la session en pts/0supprimant simplement les processus qui lui sont associés

pkill -9 -t pts/0 

Pour une raison quelconque, pkill -9 pts/tty-numbern'a pas fonctionné pour moi; puis j'ai trouvé le pid du processus en utilisant ps aux | grep amaret essayé pkill -9 -P pidet cela a fonctionné. Merci!
Amarghosh

7
pkill -9 -t pts/tty-number. -test le commutateur à spécifiertty
Casual Coder

Ooops, j'ai mal compris -tvotre réponse lorsque je l'ai lue pour la première fois.
Amarghosh

+1, solution géniale. Je viens de réinitialiser mon routeur alors que j'étais SSHing sur une machine du même réseau, puis je me suis rendu compte que cette session avait laissé la session connectée ... Cela fonctionnait parfaitement.
Percée

6
J'ai trouvé cette question aujourd'hui (et ça marche très bien, alors merci!), Mais -9j'ai trouvé que le son était un peu dur. Un simple -HUPsuffit pour moi.
Matijs

4

En supposant que vous n'avez aucun autre processus que vous ne voulez pas être 86 ', vous pouvez simplement faire:

$ ssh <systemname> pkill -u <yourlogin>

Et l'autre session partira.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.