Cómo usar claves SSH para la autenticación
Shared FAQ page chrome (breadcrumb, dates, read time, «Siga leyendo», enquiry block, category labels): see INDEX-AND-CHROME.md. Translate once.
¿Por qué claves?
La autenticación por clave pública se basa en un juego de claves propio de cada usuario, el par formado por una clave pública y una clave privada. La clave pública generada en el equipo cliente SSH se copia al archivo authorized_keys del servidor SSH, y eso hace que el servidor considere la clave de confianza. Durante el inicio de sesión el servidor envía un desafío que solo puede firmar quien posee la clave privada correspondiente; la contraseña nunca se transmite.
Cómo configurar la autenticación SSH basada en claves
Cree el directorio de claves.
mkdir -p ~/.ssh
Proteja el directorio .ssh para que solo pueda acceder el usuario SSH.
chmod 700 ~/.ssh
Genere el par de claves.
ssh-keygen -t rsa
Siga los mensajes en pantalla para crear las claves de forma interactiva e introduzca una contraseña (opcional) para proteger la clave privada; si la establece, se le pedirá durante la sesión SSH.
Copie la clave pública al archivo authorized_keys del servidor.
Puede copiar el texto del archivo ~/.ssh/id_rsa.pub y pegarlo en el archivo ~/.ssh/authorized_keys del servidor, o usar la utilidad ssh-copy-id con el formato siguiente para transferir la clave.
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
La opción -i indica el archivo de identidad o clave pública.
Desactive la autenticación por contraseña y active la autenticación por clave pública.
Inicie sesión en el servidor como root, abra el archivo /etc/ssh/sshd_config con cualquier editor de texto y asegúrese de dejar las directivas como se muestra a continuación.
PubkeyAuthentication yes
PasswordAuthentication no
Si la clave es para el usuario root, establezca PermitRootLogin prohibit-password para que root pueda iniciar sesión con clave pero nunca con contraseña. Para claves nuevas, prefiera ssh-keygen -t ed25519.
PermitRootLogin prohibit-password
Reinicie el servicio SSH en el servidor y pruebe la conexión desde el cliente; use la opción -vv con el comando ssh si encuentra problemas de conexión.
ssh -vv root@yourhost.com
Consejos
La propiedad y los permisos del directorio deben corresponder a ese usuario: chmod 600 ~/.ssh/id_rsa
De las FAQ de EuroVPS.
Más en la categoría «Guías»Su próximo socio de infraestructura
¿Todavía tiene
una pregunta?
Díganos qué intenta hacer. Un ingeniero lo leerá y le responderá.
+357 222 32280
Empecemos por su infraestructura.
Un poco de contexto nos ayuda a empezar la conversación adecuada.
