El acceso con una clave SSH es mucho más seguro que con una contraseña y protege su servidor VPS de los ataques de fuerza bruta.
1. Crear un par de claves (en su ordenador)
- Abra un terminal o PowerShell y escriba
ssh-keygen -t ed25519. - Confirme la ubicación y, si lo desea, defina una frase de contraseña.
Se generan una clave privada (id_ed25519, que nunca debe compartir) y una clave pública (id_ed25519.pub).
2. Copiar la clave pública al servidor VPS
- macOS/Linux:
ssh-copy-id root@SU-IP - Windows PowerShell:
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@SU-IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
A continuación, compruebe en una ventana nueva que ssh root@SU-IP funciona sin pedir contraseña.
3. Desactivar el acceso con contraseña
- Abra
/etc/ssh/sshd_config(p. ej. connano). - Establezca
PasswordAuthentication noyPermitRootLogin prohibit-password. - Compruebe que ningún archivo de
/etc/ssh/sshd_config.d/sobrescribe estos valores. - Verifique la configuración con
sshd -ty reinicie el servicio:systemctl restart ssh(Debian/Ubuntu) osystemctl restart sshd(AlmaLinux/Rocky).
Importante: no cierre la sesión abierta hasta que el acceso con clave funcione en una segunda ventana. Guarde una copia de seguridad de su clave privada.