SSH es un protocolo popular y efectivo 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 usar para mostrar las conexiones SSH activas es el who
dominio.
los who
El comando se utiliza para mostrar quién está actualmente conectado 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.
En el resultado 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 a la who
Comando para mostrar información detallada.
Por ejemplo, para mostrar el último inicio para los usuarios conectados, agregue el -b -u
bandera:
los 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
dominio. 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 siguiente.
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 diversos parámetros que puede utilizar con el w
dominio.
-h, –sin encabezado | Informa al terminal que no imprima el encabezado |
-u, –sin corriente | Solicita al terminal que ignore el nombre de usuario, ya que muestra los procesos de los usuarios conectados y el tiempo de CPU |
-s, –corto | Le dice a la terminal que imprima una salida abreviada, 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 distintas opciones/parámetros del comando w y sale |
-v, –versión | Muestra información sobre la versión y sale |
usuario | Restringe los resultados al usuario especificado |
El siguiente ejemplo muestra la w
comando usado con el -s
y -f
para mostrar una salida abreviada de las sesiones SSH actuales con la parte FROM truncada.
Aunque rara vez se usa, también puede usar el w
Comando con parámetros ambientales y de archivo. Para obtener más información sobre estos parámetros, Considere las páginas del 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 iniciaron y cerraron 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 para el último comando es:
Aquí hay un ejemplo.
Dado que la salida del último comando es masiva, podemos usar el grep
Comando para mostrar solo las sesiones activas.
Por ejemplo:
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.
-a, –hostúltimo | 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 el último comando para usar un archivo designado que no sea /var/log/wtmp |
-F, –tiempo completo | Indica al último que se impriman 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. Uso del comando netstat
No podemos olvidarnos de la netstat
dominio. 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:
El comando anterior muestra solo las conexiones SSH establecidas.
Para mostrar todas las conexiones, incluidas las que escuchan y las que no escuchan, podemos usar el -a
marcar como:
5. Usando el 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 la salida del ss
comando con el -a
opción (todas) para mostrar todas las sesiones SSH conectadas. La sintaxis para eso es:
El resultado 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 de vuelta a grep.
ss -a | grep ssh | grep ESTAB
Los comandos anteriores solo devolverán las conexiones SSH activas.
los ss
El comando también tiene muchas 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 usar túneles SSH inversos para permitir la conexión externa a su PC.