Matar conexiones SSH


En algunas ocasiones nos dejaremos accidentalmente sesiones SSH abiertas que están accediendo a recursos como ficheros, discos o dispositivos, esto puede ser un problema si necesitamos realizar alguna operación sobre estos como por ejemplo desmontar un disco. En este artículo aprenderemos como matar esas conexiones SSH conflictivas.

Consultamos las conexiones activas:

w
 8:54AM  up 1 day, 14:27, 4 users, load averages: 0.53, 0.38, 0.24
USER       TTY      FROM                                     LOGIN@  IDLE WHAT
kr0m       pts/3    X.X.X.X                                  8:50AM     - -su (bash)
kr0m       pts/4    X.X.X.Y                                  8:37AM     - w
kr0m       pts/0    X.X.Y.Y                                  8:50AM     3 -su (bash)
kr0m       pts/2    X.Y.Y.Y                                  7:39AM    32 -su (bash)

En mi caso la conexión conflictiva provenía de X.X.X.X, nos anotamos la TTY: pts/3

Según el sistema operativo los comandos variarán ligeramente:

FreeBSD:

ps dax
63292  -  Is      0:00.02 |-- /usr/sbin/sshd
 6791  -  Is      0:00.02 | |-- sshd: kr0m [priv] (sshd)
 7487  -  I       0:00.08 | | `-- sshd: kr0m@pts/0 (sshd)
 7921  0  Is      0:00.02 | |   `-- -bash (bash)
18773  0  I       0:00.01 | |     `-- su -l
19045  0  I+      0:00.04 | |       `-- -su (bash)
12622  -  Is      0:00.03 | |-- sshd: kr0m [priv] (sshd)
13186  -  I       0:00.02 | | `-- sshd: kr0m@pts/2 (sshd)
13346  2  Is      0:00.02 | |   `-- -bash (bash)
25039  2  I       0:00.01 | |     `-- su -l
25090  2  I+      0:00.03 | |       `-- -su (bash)
33172  -  Is      0:00.03 | |-- sshd: kr0m [priv] (sshd)
34366  -  S       0:00.03 | | `-- sshd: kr0m@pts/3 (sshd)
35112  3  Is      0:00.02 | |   `-- -bash (bash)
48424  3  I       0:00.01 | |     `-- su -l
49057  3  S       0:00.03 | |       `-- -su (bash)
68625  3  R+      0:00.00 | |         `-- ps dax
97911  -  Is      0:00.03 | `-- sshd: kr0m [priv] (sshd)
98719  -  I       0:00.05 |   `-- sshd: kr0m@pts/4 (sshd)
98755  4  Is      0:00.02 |     `-- -bash (bash)
 9245  4  I       0:00.01 |       `-- su -l
 9751  4  I+      0:00.07 |         `-- -su (bash)

Linux:

ps fax
63292  -  Is      0:00.02 |-- /usr/sbin/sshd
 6791  -  Is      0:00.02 | |-- sshd: kr0m [priv] (sshd)
 7487  -  I       0:00.08 | | `-- sshd: kr0m@pts/0 (sshd)
 7921  0  Is      0:00.02 | |   `-- -bash (bash)
18773  0  I       0:00.01 | |     `-- su -l
19045  0  I+      0:00.04 | |       `-- -su (bash)
12622  -  Is      0:00.03 | |-- sshd: kr0m [priv] (sshd)
13186  -  I       0:00.02 | | `-- sshd: kr0m@pts/2 (sshd)
13346  2  Is      0:00.02 | |   `-- -bash (bash)
25039  2  I       0:00.01 | |     `-- su -l
25090  2  I+      0:00.03 | |       `-- -su (bash)
33172  -  Is      0:00.03 | |-- sshd: kr0m [priv] (sshd)
34366  -  S       0:00.03 | | `-- sshd: kr0m@pts/3 (sshd)
35112  3  Is      0:00.02 | |   `-- -bash (bash)
48424  3  I       0:00.01 | |     `-- su -l
49057  3  S       0:00.03 | |       `-- -su (bash)
68625  3  R+      0:00.00 | |         `-- ps fax
97911  -  Is      0:00.03 | `-- sshd: kr0m [priv] (sshd)
98719  -  I       0:00.05 |   `-- sshd: kr0m@pts/4 (sshd)
98755  4  Is      0:00.02 |     `-- -bash (bash)
 9245  4  I       0:00.01 |       `-- su -l
 9751  4  I+      0:00.07 |         `-- -su (bash)

Matamos el proceso asociado a la conexión SSH:

kill 34366

Podemos comprobar que ya no existe dicha conexión:

w
 8:54AM  up 1 day, 14:27, 2 users, load averages: 0.84, 0.46, 0.28
USER       TTY      FROM                                     LOGIN@  IDLE WHAT
kr0m       pts/4    X.X.X.Y                                  8:37AM     - w
kr0m       pts/0    X.X.Y.Y                                  8:50AM     3 -su (bash)
kr0m       pts/2    X.Y.Y.Y                                  7:39AM    32 -su (bash)
Si te ha gustado el artículo puedes invitarme a un redbull aquí.
Autor: kr0m -- 10/04/2020 23:02:29