Sigue esta guía paso a paso para configurar la autenticación basada en claves SSH en tu servidor Ubuntu. Inicia sesión de forma segura sin contraseña y, si lo deseas, desactiva completamente la autenticación por contraseña.
Siga atentamente cada paso para configurar la autenticación basada en claves SSH en su servidor Ubuntu 16.04.
Ejecute el siguiente comando en su máquina local para generar un par de claves RSA de 2048 bits (use -b 4096 para una clave más segura de 4096 bits):
$ ssh-keygen Cuando se le solicite la ruta del archivo, pulse Intro para aceptar la ruta predeterminada ( ~/.ssh/id_rsa ). Opcionalmente, puede establecer una contraseña para mayor seguridad.
Se crean dos archivos: ~/.ssh/id_rsa (clave privada: manténgala en secreto) y ~/.ssh/id_rsa.pub (clave pública: esta se coloca en el servidor).
Método 1 — ssh-copy-id (recomendado):
$ ssh-copy-id username@remote_host Introduce tu contraseña cuando se te solicite. La clave pública se añadirá al archivo ~/.ssh/authorized_keys del servidor.
Método 2 — a través de una tubería SSH:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" Método 3 — manualmente: Muestre su clave pública con cat ~/.ssh/id_rsa.pub , luego agregue su salida a ~/.ssh/authorized_keys en el servidor remoto.
Comprueba que la autenticación basada en claves funciona conectándote a tu servidor:
$ ssh username@remote_hostSi configuraste una contraseña en el paso 1, se te pedirá que la ingreses. Si no lo hiciste, iniciarás sesión inmediatamente sin que se te solicite la contraseña.
Una vez que hayas confirmado que el inicio de sesión basado en claves funciona, puedes deshabilitar la autenticación por contraseña para reforzar la seguridad del servidor contra ataques de fuerza bruta. Abre la configuración del demonio SSH:
sudo nano /etc/ssh/sshd_config Busque PasswordAuthentication , descomente la línea si es necesario y establézcala en no :
PasswordAuthentication noGuarda el archivo ( Ctrl+X , luego Y , luego Enter ) y reinicia SSH:
$ sudo systemctl restart sshAbre una nueva terminal y verifica que aún puedes conectarte antes de cerrar tu sesión actual.
Preguntas frecuentes sobre la configuración de la autenticación mediante clave SSH en Ubuntu.