SSH por Claves: Configuración Segura en 3 Minutos

Si todavía usas contraseñas para SSH, estás jugando a la ruleta rusa con la seguridad de tu servidor. Hoy en día es obligatorio usar claves SSH.

Configuración Esencial

Edita /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config

Líneas clave:

PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no

La opción de PasswordAuthentication no, no permite login usando password. Así que nadie podrá probar contraseñas por fuerza bruta.
La opción de PubkeyAuthentication yes establece que sólo se puede entrar por ssh usando una clave pública.
La opción de PermitRootLogin no establece que no puedas entrar directamente como usuario root. Lo ideal es entrar con un usuario con menos privilegios que sea sudoer. Aunque es cómodo poner esta opción a yes en ciertas ocasiones.

Pasos Rápidos

  • Generar Claves
ssh-keygen -t ed25519
# Enter para todo (o pon passphrase)
  • Copiar Clave Pública
ssh-copy-id usuario@tu-servidor

También puedes añadir manualmente tu clave pública a ~/.ssh/authorized_keys en una nueva línea.

  • Aplicar Cambios
sudo systemctl reload sshsudo systemctl reload ssh
  • Verificación
ssh usuario@tu-servidor

Este último comando te debería permitir conectar sin usar password.

Y ya lo tenemos, ya podemos ir a dormir más tranquilos.