Cómo encontrar conexiones SSH activas en Linux
Si eres administrador de sistemas Linux y responsable de la gestión de servidores, es posible que a menudo necesites saber cuántas conexiones ssh están activas en tu servidor y de dónde proceden. Hay varios comandos y herramientas disponibles en Linux para encontrar las conexiones SSH activas en tu servidor.
En este tutorial, mostraremos cómo encontrar las conexiones SSH activas con diferentes métodos en Linux.
Requisitos previos
- Un servidor con sistema operativo Linux.
- Tener acceso de root en ese servidor.
Encontrar la conexión SSH activa con el comando who
who es la utilidad de línea de comandos de Linux que se utiliza para mostrar una lista de los usuarios que han iniciado sesión en el servidor.
Abre tu terminal y ejecuta el comando who para encontrar las conexiones activas en tu servidor:
who
Deberías obtener la siguiente salida:
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 puedes ver, hay dos conexiones SSH activas desde la IP 27.61.161.61 y 45.58.38.21.
Encontrar 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 actualmente conectado en tu servidor. Este comando proporciona más información que el comando who, como las sesiones activas y los procesos en ejecución en esas sesiones.
Puedes ejecutar el comando w como se muestra a continuación:
w
Deberías obtener la siguiente salida:
02:40:07 up 1 day, 18:35, 2 users, load average: 0.02, 0.02, 0.00 USER TTY FROM LOGIN@ 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 puedes 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.
Encontrar la conexión SSH activa con el comando ps
El comando ps también te da la información sobre las sesiones SSH activas en tu servidor. Te da alguna información adicional como el PID de las conexiones SSH activas.
Puedes ejecutar el comando ps como se muestra a continuación
ps auxwww | grep sshd: | grep -v grep
Deberías ver la siguiente salida:
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: root@pts/0 root 35669 0.0 0.2 13860 8916 ? Ss 02:38 0:00 sshd: root@pts/1
Encontrar la conexión SSH activa con el comando netstat
Netstat es una herramienta de línea de comandos que puede utilizarse para mostrar las conexiones SSH activas o establecidas desde los hosts remotos a tu servidor.
Puedes ejecutar el comando netstat como se muestra a continuación:
netstat -tnpa | grep 'ESTABLISHED.*sshd'
Deberías ver la siguiente salida:
tcp 0 88 45.58.38.21:22 27.61.161.61:8363 ESTABLISHED 35532/sshd: root@pt tcp 0 0 45.58.38.21:22 45.58.38.21:51166 ESTABLISHED 35669/sshd: root@pt
Encontrar la conexión SSH activa con el último comando
El comando last se utiliza para mostrar la lista de todos los usuarios que se han conectado y desconectado desde que se creó el archivo /var/log/wtmp. Con el comando last también puedes encontrar la información de la conexión SSH activa entre el cliente y el servidor.
Ejecuta el siguiente comando para encontrar las conexiones SSH activas en tu servidor.
last -a | grep -i still
Deberías ver la siguiente salida:
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
Encontrar la conexión SSH activa con el comando ss
ss es muy similar a netstat y se utiliza para mostrar más información que otras herramientas. Puedes utilizar el comando ss con grep para listar la conexión SSH activa en tu servidor.
Ejecuta el comando ss con grep como se muestra a continuación:
ss | grep -i ssh
Deberías ver la siguiente salida:
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 puedes ver, hay dos conexiones activas desde la IP del cliente 45.58.38.21 y 27.61.161.61.
Conclusión
En la guía anterior, hemos aprendido a encontrar conexiones SSH activas con diferentes métodos. Ahora puedes controlar fácilmente quién está conectado a tu servidor.