Linux en español
Tutoriales

Cómo ver los intentos fallidos de inicio de sesión SSH en Linux

fallo inicio sesión SSH Linux-linux-en-español
2 minutos de lectura

Cada intento de iniciar sesión en el servidor SSH es rastreado y registrado en un archivo de registro por el demonio rsyslog en Linux. El mecanismo más básico para enumerar todos los intentos fallidos de inicio de sesión SSH en Linux es una combinación de mostrar y filtrar los archivos de registro con la ayuda del comando cat o el comando grep .

Para mostrar una lista de los inicios de sesión SSH fallidos en Linux, emita algunos de los comandos presentados en esta guía. Asegúrese de que estos comandos se ejecuten con privilegios de root.

El comando más simple para enumerar todos los inicios de sesión SSH fallidos es el que se muestra a continuación.

Ubuntu/Debian

grep "Failed password" /var/log/auth.log

Tambien puede obtenerse el mismo resultado con el comando cat, veamos un ejemplo:

cat /var/log/auth.log | grep "Failed password"

Para mostrar información adicional sobre los inicios de sesión SSH fallidos, emita el comando como se muestra en el siguiente ejemplo.

egrep "Failed|Failure" /var/log/auth.log

Centos/RHEL

Las sesiones SSH fallidas se registran en /var/log/secure file. Emita el comando anterior contra este archivo de registro para identificar inicios de sesión SSH fallidos.

egrep "Failed|Failure" /var/log/secure

Una versión ligeramente modificada del comando anterior para mostrar inicios de sesión SSH fallidos en CentOS o RHEL es la siguiente.

grep "Failed" /var/log/secure
grep "authentication failure" /var/log/secure

Para mostrar una lista de todas las direcciones IP que intentaron y no pudieron iniciar sesión en el servidor SSH junto con el número de intentos fallidos de cada dirección IP, emita el siguiente comando.

grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr

En las distribuciones de Linux más recientes, puede consultar el archivo de registro de tiempo de ejecución mantenido por Systemd daemon a través del comando journalctl. Para mostrar todos los intentos fallidos de inicio de sesión SSH, debe canalizar el resultado a través del filtro grep, como se ilustra en los ejemplos de comandos a continuación.

journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"
journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure"  #En RHEL, CentOS

En CentOS o RHEL, reemplace la unidad de daemon SSH con sshd.service , como se muestra en los ejemplos de comandos a continuación.

Después de haber identificado las direcciones IP que con frecuencia afectan a su servidor SSH para iniciar sesión en el sistema con cuentas de usuario sospechosas o cuentas de usuario no válidas, debes actualizar las reglas del firewall del sistema para bloquear las direcciones IP fallidas de intentos de SSH o utilizar un software, como fail2ban para gestionar estos ataques.

Entradas relaccionadas

Usando PPA en Ubuntu Linux [Guía completa]

Linux en Español

Comando htop: Instalación y uso desde línea de comandos

Diego García Cuesta

Cómo implementar el modulo PageSpeed en Nginx

Diego García Cuesta

HSTS: Qué es y cómo añadirlo a tu web

Diego García Cuesta

Cómo habilitar HTTP/2 en NGINX

Diego García Cuesta

Cómo desactivar Gutenberg y usar el editor clásico en WordPress

Diego García Cuesta