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.