¿Por qué hacer hardening de SSH?
Si tu servidor tiene la IP pública expuesta, recibirás intentos de fuerza bruta constantemente. Con unos pocos cambios en la configuración reduces drásticamente la superficie de ataque.
Editar sshd_config
nano /etc/ssh/sshd_config
Cambios recomendados:
# Cambiar el puerto por defecto
Port 2222
# Deshabilitar login de root
PermitRootLogin no
# Deshabilitar autenticación por contraseña (usa claves)
PasswordAuthentication no
# Máximo de intentos de login
MaxAuthTries 3
# Tiempo máximo de autenticación
LoginGraceTime 30
Generar clave SSH
En tu máquina local:
ssh-keygen -t ed25519 -C "tu@email.com"
ssh-copy-id -p 2222 usuario@ip-servidor
Reiniciar SSH
systemctl restart sshd
⚠️ Antes de cerrar la sesión, abre una nueva terminal y comprueba que puedes conectarte con la clave. Si algo falla y cierras la sesión, te quedas sin acceso.
Extra: Fail2ban
Instala Fail2ban para banear IPs que hagan demasiados intentos fallidos:
apt install fail2ban -y
systemctl enable fail2ban
Con esto tu servidor ya está bastante más protegido.