Cómo encontrar conexiones SSH activas en Linux

Si usted es el administrador del sistema Linux y es responsable de administrar los servidores, a menudo necesitará saber cuántas conexiones ssh están activas en su servidor y de dónde provienen. Hay varios comandos y herramientas disponibles en Linux para encontrar las conexiones SSH activas en su servidor.

En este tutorial, mostraremos cómo encontrar conexiones SSH activas con diferentes métodos en Linux.

requisitos previos

  • Un servidor con sistema operativo Linux.
  • Tiene acceso de root en ese servidor.

Encuentra la conexión SSH activa con el comando who

who es la utilidad de línea de comandos de Linux utilizada para mostrar una lista de usuarios que actualmente están conectados al servidor.

Abra su terminal y ejecute el comando who para encontrar las conexiones activas en su servidor:

who

Deberías obtener el siguiente resultado:

root     pts/0        2020-05-01 02:37 (27.61.161.61)
root     pts/1        2020-05-01 02:39 (45.58.38.21)

Como puede ver, hay dos conexiones SSH activas desde la IP 27.61.161.61 y 45.58.38.21.

Encuentra la conexión SSH activa con el comando w

w es otra utilidad de línea de comandos que muestra la información sobre el usuario que actualmente inicia sesión en su servidor. Este comando proporciona más información que el comando who, como las sesiones activas y el proceso en ejecución en esas sesiones.

Puede ejecutar el comando w como se muestra a continuación:

w

Deberías obtener el siguiente resultado:

 02:40:07 up 1 day, 18:35,  2 users,  load average: 0.02, 0.02, 0.00
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
root     pts/0    27.61.161.61     02:37    1.00s  0.04s  0.01s ssh [email protected]
root     pts/1    45.58.38.21      02:39    1.00s  0.02s  0.00s w

Como puede ver, este comando también muestra los detalles del tiempo de inactividad, la IP de origen, el tiempo de inicio de sesión, el promedio de carga y los procesos.

Encuentra la conexión SSH activa con el comando ps

El comando ps también le brinda información sobre las sesiones SSH activas en su servidor. Le brinda información adicional como el PID de las conexiones SSH activas.

Puede ejecutar el comando ps como se muestra a continuación

ps auxwww | grep sshd: | grep -v grep

Debería ver el siguiente resultado:

root         609  0.0  0.1  12160  7268 ?        Ss   Apr29   0:01 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root       35532  0.0  0.2  13864  8796 ?        Ss   02:37   0:00 sshd: [email protected]/0
root       35669  0.0  0.2  13860  8916 ?        Ss   02:38   0:00 sshd: [email protected]/1

Encuentre una conexión SSH activa con el comando netstat

Netstat es una herramienta de línea de comandos que se puede usar para mostrar conexiones SSH activas o establecidas desde los hosts remotos a su servidor.

Puede ejecutar el comando netstat como se muestra a continuación:

netstat -tnpa | grep 'ESTABLISHED.*sshd'

Debería ver el siguiente resultado:

tcp        0     88 45.58.38.21:22          27.61.161.61:8363       ESTABLISHED 35532/sshd: [email protected] 
tcp        0      0 45.58.38.21:22          45.58.38.21:51166       ESTABLISHED 35669/sshd: [email protected] 

Encuentra la conexión SSH activa con el último comando

El último comando se usa para mostrar la lista de todos los usuarios que iniciaron y cerraron sesión desde que se creó el archivo /var/log/wtmp. Con el último comando también puede encontrar la información de conexión SSH activa entre el cliente y el servidor.

Ejecute el siguiente comando para encontrar las conexiones SSH activas en su servidor.

last -a | grep -i still

Debería ver el siguiente resultado:

root     pts/1        Fri May  1 02:39   still logged in    45.58.38.21
root     pts/0        Fri May  1 02:37   still logged in    27.61.161.61
reboot   system boot  Wed Apr 29 08:04   still running      5.4.0-26-generic

Encuentra la conexión SSH activa con el comando ss

ss es muy similar a netstat y se usa para mostrar más información que otras herramientas. Puede usar el comando ssh con grep para enumerar la conexión SSH activa en su servidor.

Ejecute el comando ss con grep como se muestra a continuación:

ss | grep -i ssh

Debería ver el siguiente resultado:

tcp   ESTAB  0      0                      45.58.38.21:51166        45.58.38.21:ssh                                                                             
tcp   ESTAB  0      56                     45.58.38.21:ssh         27.61.161.61:8363                                                                            
tcp   ESTAB  0      0                      45.58.38.21:ssh          45.58.38.21:51166                                                                           

Como puede ver, hay dos conexiones activas desde el cliente IP 45.58.38.21 y 27.61.161.61.

Conclusión

En la guía anterior, aprendimos cómo encontrar conexiones SSH activas con diferentes métodos. Ahora puede monitorear fácilmente quién está conectado a su servidor.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *