Matar concexiones ssh

MATAR CONEXIONES SSH DESDE EL SERVIDOR
(Sin reiniciar el servicio)

# netstat -pnat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:902                 0.0.0.0:*                   LISTEN      4869/xinetd
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      5213/smbd
tcp        0      0 0.0.0.0:10000               0.0.0.0:*                   LISTEN      5459/perl
tcp        0      0 0.0.0.0:6000                0.0.0.0:*                   LISTEN      5177/X
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5222/httpd
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      5222/httpd
tcp        0      0 :::22                       :::*                        LISTEN      5160/sshd
tcp        0      0 ::ffff:192.168.1.34:22      ::ffff:192.168.1.100:55855  ESTABLISHED 6950/sshd: carlos

En la última línea se observa que el equipo remoto (cliente) 192.168.1.100 está conectado al puerto 22 del equipo 192.168.1.34 que es el servidor ssh con el PID 6950 y nombre de usuario carlos.
Si el usuario remoto que se hubiera conectado como root, entonces bastaría con matar el PID mostrado, pero en este caso (lo correcto por seguridad) un usuario normal (carlos) fue el que se conectó y en este caso se generan dos PID’s para la conexión, veámoslo con un ps:

# ps -ef | grep carlon
root      6950  5160  0 20:06 ?        00:00:00 sshd: carlon [priv]
carlon    6953  6950  0 20:06 ?        00:00:00 sshd: carlon@pts/3

Al menos debe matarse el asignado al usuario (6953):

# kill -9 6953

El cliente verá el siguiente mensaje:

$ Connection to 192.168.1.72 closed by remote host.
Connection to 192.168.1.72 closed.

Lo mismo se puede hacer con los comandos who y pkill:

# who
sergio   :0           2007-11-05 19:28
sergio   pts/3        2007-11-05 20:23 (192.168.1.100)

Sabiendo que hay un usuario en la pseudo terminal 3, es posible usar pkill que permite enviar señales a los procesos basados no en su PID sino en sus atributos o características:

# pkill -9 -t pts/3

El cliente, verá el siguiente mensaje:

$ Connection to 192.168.1.72 closed.

Escribe un comentario