¿Cómo puedo cerrar sesión en una sesión SSH remota y abierta?

48

Me metí en una máquina Linux (bash shell) desde una máquina pública de Windows (en nuestro laboratorio) y olvidé cerrar sesión. Ahora estoy de regreso en mi asiento en otra habitación y soy demasiado vago para caminar y cerrar sesión en esa sesión; Sin embargo, puedo ingresar a la máquina Linux desde mi PC actual. ¿Puedo forzar el cierre de sesión de la otra sesión desde una nueva sesión SSH?

Cuando accedo a la caja de Linux desde mi PC actual y escribo el userscomando, puedo ver que todavía estoy conectado allí; mi nombre aparece dos veces: uno para la sesión actual y otro para la sesión desde PC de laboratorio.

No tengo privilegios de root en dicha máquina, pero supongo que eso no debería importar, ya que solo estoy tratando de desconectarme.

Amarghosh
fuente

Respuestas:

73

Ejecute ttyen su sesión actual, para averiguar en qué tty está trabajando, de modo que no cierre sesión en la sesión actual. Ejecute w para mostrarle los usuarios actuales y los pseudo terminales (tty) asociados. Suponiendo que haya iniciado sesión dos veces y que no haya otros usuarios en su servidor ssh, su sesión ssh anterior estará activa pts/0y activa pts/1. Para deshacerse de la sesión pts/0simplemente elimine los procesos que están asociados con

pkill -9 -t pts/0 
Codificador casual
fuente
Por alguna razón, pkill -9 pts/tty-numberno funcionó para mí; Luego encontré el pid del proceso usando ps aux | grep amary probé pkill -9 -P pidy funcionó. ¡Gracias!
Amarghosh
77
pkill -9 -t pts/tty-number. -tes el cambio para especificartty
Casual Coder
Vaya, de alguna manera me perdí eso -ten tu respuesta cuando lo leí por primera vez.
Amarghosh
+1, solución impresionante. Simplemente reinicié mi enrutador mientras estaba SSHing a una máquina en la misma red, y luego me di cuenta de que dejó esa sesión iniciada ... Esto funcionó perfectamente.
Avance
66
Encontré esta pregunta hoy (y funciona muy bien, ¡así que gracias!), Pero me -9pareció un poco dura. Un simple fue -HUPsuficiente para mí.
Matijs
4

Suponiendo que no tiene ningún otro proceso que no quiera que se le administre, simplemente puede hacer:

$ ssh <systemname> pkill -u <yourlogin>

Y la otra sesión se irá.

P. Heffner
fuente
0

Puedes escribir:

~.

No verá que lo escribió pero cerrará la conexión.

kellbells
fuente
Me gustaría sugerir una referencia, superuser.com/help/how-to-answer lo ayudará a componer un mejor texto.
Rajesh S