← Blog
// BLUE TEAM · HARDENING

Endurecer SSH: checklist práctico contra fuerza bruta y accesos indebidos

Publicado el 10 ago 2026 · 9 min de lectura
SSHHardeningLinuxFuerza bruta2FA

SSH es la puerta principal de tus servidores, y su configuración por defecto es un imán para la fuerza bruta: en cuanto abres el 22 a Internet empiezan a llover intentos de login automáticos. La buena noticia es que endurecerlo es rápido y casi todo cabe en un fichero: /etc/ssh/sshd_config.

⚠️ Antes de tocar nada: abre una segunda sesión SSH y déjala conectada. Si te equivocas y te bloqueas, esa sesión te salva. Aplica los cambios con sudo sshd -t (comprueba la sintaxis) y luego sudo systemctl reload ssh.

1. Claves, no contraseñas

Una contraseña se adivina por fuerza bruta; una clave de 256 bits, no. Genera un par moderno y copia la pública al servidor:

ssh-keygen -t ed25519 -C "tu-nombre@equipo"
ssh-copy-id -i ~/.ssh/id_ed25519.pub usuario@servidor

Comprueba que entras con la clave y desactiva las contraseñas en sshd_config:

PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes

2. Nada de root directo

Entrar como root por SSH quita el rastro de quién hizo qué y es el usuario que más se ataca. Entra con tu usuario y escala con sudo:

PermitRootLogin no

3. Restringe quién puede entrar

Por defecto puede intentar autenticarse cualquier usuario del sistema. Limítalo a los necesarios:

AllowUsers sergio deploy
# o por grupo:
AllowGroups ssh-users

4. Frena la fuerza bruta

Cambiar el puerto 22 solo reduce el ruido, no protege (es seguridad por oscuridad). Lo que de verdad ayuda:

MaxAuthTries 3
LoginGraceTime 20
MaxSessions 3

5. Cifrados modernos

Desactiva algoritmos antiguos y deja solo los robustos. Si no lo necesitas, apaga también los forwardings:

KexAlgorithms curve25519-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com
X11Forwarding no
AllowAgentForwarding no
🔑 ¿Tu clave o tu config son sólidas? El Analizador SSH revisa tu clave pública (tipo, tamaño, algoritmo), te genera los comandos de ssh-keygen correctos y te da un checklist de auditoría del servidor.

6. Doble factor

Para accesos sensibles, añade 2FA con libpam-google-authenticator (código TOTP además de la clave) o pasa a certificados SSH firmados por una CA interna, que caducan y evitan repartir claves sueltas.

7. Vigila

Endurecer no es «configurar y olvidar». Revisa los intentos en /var/log/auth.log (o journalctl -u ssh), y si tienes SIEM, crea una alerta por ráfagas de Failed password o logins fuera de horario desde IPs nuevas.

Checklist

Diez minutos de sshd_config convierten un servidor que recibe miles de intentos al día en uno donde la fuerza bruta simplemente no tiene por dónde entrar.

Comparte: LinkedIn X
Sergio Belmonte Morales
Sergio Belmonte Morales
Analista de Ciberseguridad · SOC · Especialista en Sentinel/KQL