Muchas personas aún utilizan contraseñas normales y se encuentran con mensajes como:
Hubo 3029 intentos fallidos de inicio de sesión desde el último acceso exitoso
Existen herramientas como Fail2Ban que ayudan a prevenir ataques de fuerza bruta, o Endlessh para atrapar a los atacantes en otro puerto SSH.
ssh-keygen
Ejecuta el comando en PowerShell, CMD o terminal. - Presiona Enter para usar la ubicación predeterminada (~/.ssh/id_rsa). - Si pregunta si deseas sobrescribir, responde según tu caso. - Ingresa una passphrase (contraseña para proteger tu clave privada) y repítela. Verás una salida similar a esta:
La clave pública estará en ~/.ssh/id_rsa.pub y la privada en ~/.ssh/id_rsa.
Si tu sistema lo soporta, usa:
ssh-copy-id user@ip
Si no, hazlo manualmente. Copia el contenido del archivo id_rsa.pub (ábrelo con Notepad++, VS Code, etc.). Debería verse similar a esto:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC915VweyT4KQ1j+jiEtUikW6AesLJW+c2kWf7q/ta1y2eGkALkZ5mGRpPTfYHzzYlNAWP41YYYgiALTgVnmD8iXxbMcjW1OLWM4ktzpBlxpPtNm0F66jvwqv/r6elaa9NATiyhlqxJ9p/JIEQ69rpWNMmOneMdESCDkVZmyxMleO/dVcOAqD1yALZyATZEdZ6bHnhe2Bnj+mzGCJLSNFcR+XeiK5GBeHiRRHCJu5fFH0dsDUTKZWH0oNkrc1UiREeVM343ZZdCRkJiJ5SKKL1BM3BkAmB0YEcWbQQYmQPdVusRBBUb1lgl1dPy+uEu5bEa5hGhTXAQlsRRoKNlVnT5 user@device
mkdir -p ~/.ssh
echo "ssh_output" >> ~/.ssh/authorized_keys
(Reemplaza ssh_output por el contenido completo de tu clave pública)
chmod -R go= ~/.ssh
Importante: No cambies los permisos de la carpeta /root/ ni de .ssh de forma incorrecta, o podrías perder el acceso por clave SSH.
En MobaXterm ve a Advanced SSH settings y selecciona tu clave privada:
En PuTTY ve a SSH → Auth y carga tu clave privada:
Prueba la conexión. En MobaXterm puedes duplicar la sesión para probar sin cerrar la actual:
Si ya puedes conectar con tu clave SSH, puedes (opcionalmente) deshabilitar el acceso por contraseña para mayor seguridad.
sudo vi /etc/ssh/sshd_config
Busca la línea:
PasswordAuthentication yes
Cámbiala a:
PasswordAuthentication no
Presiona ESC, luego escribe :x y Enter para guardar y salir.
sudo systemctl restart sshd
Prueba nuevamente la conexión. Si todo está correcto, ya no podrás acceder con contraseña, solo con clave SSH.
Nota: Eres responsable de tus acciones en el servidor. Procede con precaución. Si algo falla, podrás arreglarlo reiniciando el servidor desde el panel de control.