Con una clave SSH entras sin escribir contraseña, y si además desactivas las contraseñas, los bots que prueban combinaciones contra tu servidor ya no tienen nada que adivinar.
1. Crea tu clave (en tu ordenador)
Windows 10/11, Mac y Linux traen SSH. Abre una terminal (en Windows, PowerShell) y escribe:
ssh-keygen -t ed25519
Pulsa Enter para guardarla en el sitio por defecto y, si quieres, ponle una frase de paso. Se crean dos archivos en la carpeta .ssh de tu usuario: id_ed25519 (privada: no la compartas nunca) e id_ed25519.pub (pública).
2. Súbela al servidor
Desde Mac o Linux:
ssh-copy-id root@203.0.113.10
Desde Windows (PowerShell):
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.10 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
Te pedirá la contraseña una última vez.
3. Pruébala
ssh root@203.0.113.10
Si entra sin pedirte la contraseña del servidor, funciona. No sigas al paso 4 si no ha funcionado.
4. Desactiva las contraseñas por SSH
Con la sesión anterior abierta (por si acaso), en el servidor:
echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/00-solo-claves.conf
sshd -t && systemctl restart ssh
En Rocky Linux 8 cambia directamente la línea PasswordAuthentication a no en /etc/ssh/sshd_config, y el servicio se llama sshd: systemctl restart sshd.
El nombre del archivo empieza por 00- a propósito: en SSH manda el primer valor que se lee, y algunas imágenes traen otro archivo que vuelve a activar las contraseñas.
Abre otra terminal y comprueba que sigues entrando con la clave antes de cerrar la primera.
Si pierdes la clave
La consola VNC del panel no usa SSH, así que ahí la contraseña sigue funcionando. Si no la recuerdas, genera una nueva en Ajustes → Restablecer la contraseña, entra por VNC y añade tu clave nueva a /root/.ssh/authorized_keys.
Para transferir archivos (WinSCP, FileZilla), usa la misma clave privada: cómo subir archivos.