13 mayo 2013

Desconectar sesión remota

En algunas ocasiones se puede dar el caso de establezcamos una conexión por ssh a un servidor remoto y que, por la razón que sea, al cerrar esa conexión, la sesión haya quedado abierta. En este artículo veremos una forma de eliminar esa sesión remota "fantasma".

A través del comando who se pueden consultar las sesiones que están abiertas en este momento. En el caso del ejemplo nos damos cuenta de que existe una sesión remota en pts/0, abierta desde hace días, que no debería estar activa.
$ who
root  tty1         2013-05-03 14:41
root  pts/0        2013-04-30 19:26 (remote-host.local)
Consultamos todos los procesos asociados a esa sesión remota (con identificador pts/0).
$ ps ax | grep pts/0
(standard input):76: 1504 ?        S      0:02 sshd: root@pts/0 
(standard input):77: 1505 pts/0    Ss+    0:01 -bash
(standard input):104: 5172 tty1    S+     0:00 grep pts/0
En primer lugar, eliminaremos el proceso "padre" (pid=1504) que es el que mantiene la sesión abierta. Posteriormente podemos comprobar que la sesión remota ya ha quedado cerrada.
$ sudo kill -9 1504
$ ps ax | grep pts/0
$ who
root  tty1         2013-05-03 14:41

0 comentarios: