Ir al contenido
EuroVPSEuroVPS

Cómo usar claves SSH para la autenticación

FAQ de EuroVPS

Actualizado el 2 min de lectura

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
Un ingeniero de EuroVPS transporta un nodo de servidor en la sala del datacenter
Una conversación con las personas que cuidarán de su infraestructura.

Empecemos por su infraestructura.

Un poco de contexto nos ayuda a empezar la conversación adecuada.

Usaremos sus datos para responder a su consulta. Política de privacidad