Cómo mostrar todas las conexiones SSH activas en Linux

SSH es un protocolo popular y eficaz que le permite iniciar sesión y administrar hosts remotos desde su máquina local. Esta guía lo guía a través de varios comandos que puede usar para verificar las conexiones SSH activas en el host remoto.

Nota: Dependiendo de la configuración del sistema, algunos de los comandos que vamos a discutir pueden requerir que tenga root o sudo privilegios.

1. Uso del comando OMS

El primer comando que puede utilizar para mostrar las conexiones SSH activas es el who mando.

El who El comando se usa para mostrar quién está conectado actualmente al sistema. Nos permite ver los usuarios conectados y las direcciones IP de origen.

Usar el who comando, simplemente ingrese who sin ningún parámetro.

OMS

En la salida anterior, puede ver un usuario de Debian conectado a través de tty y dos sesiones SSH desde una dirección IP remota.

También puede agregar parámetros al who comando para mostrar información detallada.

Por ejemplo, para mostrar el último arranque para los usuarios conectados, agregue el -b -u bandera:

Quién BU

El who El comando ofrece más opciones para obtener resultados personalizados. Consulte la página del manual para obtener más información.

2. Usando el comando W

El siguiente comando que puede usar para mostrar el estado de varias sesiones SSH y usuarios conectados al servidor es el w mando. A diferencia del who comando, el w El comando le brinda más información sobre los procesos en ejecución para cada usuario.

Además, el w El comando le dará información sobre las conexiones SSH inactivas, lo cual es muy útil cuando necesita terminarlas.

Si ejecuta el comando sin ninguna otra opción, debería obtener un resultado similar al que se muestra a continuación.

Comando W

En el ejemplo anterior, el w El comando brinda información detallada, como el nombre de usuario, el método TTY, la dirección IP de origen, la hora de inicio de sesión, el tiempo de inactividad y más.

Como el who comando, también puede utilizar el w comando con varios parámetros. La siguiente tabla muestra los distintos parámetros que puede utilizar con el w mando.

Parámetro Que hace
-h, –no-header Informa al terminal que no imprima el encabezado
-u, –no-actual Solicita al terminal que ignore el nombre de usuario, ya que muestra los procesos de los usuarios conectados y el tiempo de la CPU.
-s, –corto Le dice al terminal que imprima una salida acortada, excluyendo el tiempo de inicio de sesión, JCPU y PCPU
-f, –de Habilita / deshabilita la opción DESDE de la salida de impresión
-ayuda Muestra las diversas opciones / parámetros del comando w y sale
-v, –version Muestra información sobre la versión y sale
usuario Limita los resultados al usuario especificado

El siguiente ejemplo muestra el w comando usado con el -s y -f parámetros para mostrar una salida abreviada de las sesiones SSH actuales con la parte FROM truncada.

Quién SF

Aunque se utiliza con poca frecuencia, también puede utilizar el w comando con parámetros ambientales y de archivo. Para obtener más información sobre estos parámetros, considere las páginas de manual.

3. Usando el último comando

También puede utilizar el last comando para mostrar todas las sesiones SSH conectadas. El último comando muestra la lista de los últimos usuarios que iniciaron sesión.

Funciona comprobando el archivo designado. Por ejemplo, “/ var / log / wtmp” muestra todos los usuarios que han iniciado y cerrado sesión desde la creación del archivo. El comando también le brinda información sobre las sesiones SSH creadas entre el cliente y el servidor.

La sintaxis general del último comando es:

He aquí un ejemplo.

Último comando

Dado que la salida del último comando es masiva, podemos usar la grep comando para mostrar solo las sesiones activas.

Por ejemplo:

El último Grep todavía

También puede modificar la salida del último comando para mostrar información detallada.

Por ejemplo, para mostrar los nombres de usuario y dominios completos, podemos usar el -w bandera.

El último comando admite numerosas opciones. Estas son las opciones más utilizadas para el último comando.

Parámetro Que hace
-a, –hostlast Muestra el nombre de host en la última columna.
-d, –dns Linux almacena el nombre de host y la dirección IP de todos los hosts remotos. Este parámetro convierte la IP en un nombre de host
-archivo, –archivo Informa al último comando para usar un archivo designado que no sea / var / log / wtmp
-F, –tiempo completo Último mensaje para imprimir todas las fechas y horas de inicio y cierre de sesión
-i, –ip Similar a –dns, excepto que en lugar de mostrar el nombre de host del host, muestra el número de IP

4. Usando el comando netstat

No podemos olvidarnos del netstat mando. Netstat se utiliza para mostrar todas las conexiones de red, interfaces de red, tablas de enrutamiento y más.

También puede usar el comando netstat para filtrar las sesiones SSH establecidas o conectadas en su servidor Linux:

Netstat Grep Ssh

El comando anterior muestra solo las conexiones SSH establecidas.

Para mostrar todas las conexiones, incluyendo escuchar y no escuchar, podemos usar el -a marcar como:

Netstat A Grep Ssh

5. Uso del comando ss

Si desea obtener más información sobre las sesiones SSH conectadas, puede utilizar el ss comando, que muestra datos de socket, haciéndolo similar a netstat.

Por ejemplo, podemos grep de la salida del ss comando con el -a opción (todo) para mostrar todas las sesiones SSH conectadas. La sintaxis para eso es:

Ss Grep Ssh

La salida anterior muestra todas las conexiones SSH en el host remoto. Esto incluirá el demonio SSHD.

Para filtrar las conexiones SSH establecidas, puede canalizar la salida a grep.

Ss doble grep

Los comandos anteriores solo devolverán las conexiones SSH activas.

El ss El comando también tiene toneladas de otras opciones que puede usar para aprender varias cosas sobre las conexiones activas del servidor. Por ejemplo, puede utilizar el -e bandera para mostrar más sobre la información del socket.

Terminando

Es una buena práctica seguir monitoreando sus hosts remotos en busca de inicios de sesión SSH no autorizados y tomar las medidas necesarias, como proteger su servidor o deshabilitar la autenticación de contraseña. Mientras tanto, también puede utilizar el túnel SSH inverso para permitir la conexión externa a su PC.

Categorías PC