Este artículo le mostrará cómo configurar un inicio de sesión SSH sin contraseñas en un sistema operativo Linux mediante la autenticación basada en claves .
SSH se utiliza para iniciar sesión en servidores para ejecutar los comandos y programas de forma remota. Sin embargo, a veces es posible que desee o incluso necesite iniciar sesión automáticamente en un servidor SSH sin ingresar su nombre de usuario y contraseña.
Los dos mecanismos más populares para iniciar sesión en sistemas remotos a través de SSH son la autenticación basada en contraseña. y autenticación basada en claves .
La combinación de nombre de usuario y contraseña es el método de autenticación más común para SSH y es adecuado para la mayoría de las personas. Pero si usa SSH regularmente para conectarse a servidores remotos, el método de autenticación basado en claves es el mejor para usted.
Entonces, ¿puedes usar SSH sin una contraseña? En resumen, ¡sí! Así es como se hace.
Paso 1:Generar par de claves SSH
Primero debe generar un par de claves SSH en la máquina en la que está trabajando actualmente.
Si no está seguro de cómo hacerlo, le recomiendo que siga nuestra guía breve y fácil de seguir:Generar un par de claves SSH [con ejemplos].
Paso 2:Copie la clave pública al servidor remoto
Para habilitar el inicio de sesión SSH sin contraseña, debe transferir una copia de su clave pública al servidor remoto. Debe conocer las credenciales de su servidor remoto y varios otros detalles:nombre de host/IP, nombre de usuario, contraseña y número de puerto.
Para transferir la clave pública al servidor remoto, usaremos el comando ssh-copy-id que está disponible en la mayoría de las distribuciones de Linux. El comando copiará el contenido de la clave pública .ssh/id_rsa.pub
al .ssh/authorized_keys
archivo en el sistema remoto.
ssh-copy-id [email protected]
Se le pedirá que ingrese la contraseña del nombre de usuario remoto. Una vez que el usuario esté autenticado, la clave pública se copiará automáticamente en .ssh/authorized_keys
archivo en el servidor remoto.
En el servidor remoto, puede verificar la transferencia de la clave pública al ver el contenido de .ssh/authorized_keys
archivo.
Para obtener más información sobre ssh-copy-id
comando en Linux, consulte su página de manual.
Paso 3:inicio de sesión SSH sin contraseña
Ahora debería poder iniciar sesión en el servidor remoto sin que se le solicite una contraseña. Simplemente intente iniciar sesión en su servidor a través de SSH:
ssh [email protected]_server
El sistema debería registrarlo directamente en el servidor remoto; no se requiere contraseña.
Conclusión
Eso es todo lo que necesita para configurar un inicio de sesión SSH sin contraseñas. Luego, por supuesto, puede agregar la misma clave pública a varios servidores remotos.
Finalmente, es importante tener en cuenta que puede compartir la clave pública (id_rsa.pub
) con nadie pero nunca compartas tu clave privada (id_rsa
). Solo la clave pública se copia en el servidor.
La clave privada nunca debe copiarse en otra máquina porque cualquier persona que tenga la clave privada podrá iniciar sesión en cualquier sistema que tenga la clave pública correspondiente.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.