Secure Shell (SSH) es un protocolo de red de código abierto y de confianza que se utiliza para iniciar sesión en servidores remotos y ejecutar comandos. SSH también se usa para transferir archivos de una computadora a otra y descargar archivos de un servidor remoto a una computadora local usando el protocolo SCP (copia segura).
SSH se puede habilitar de dos maneras
- Autenticación basada en claves
- Autenticación basada en contraseña
La autenticación basada en claves se conoce comúnmente como inicio de sesión sin contraseña.
En este artículo, explicaremos cómo habilitar el inicio de sesión sin contraseña usando ssh-keygen y ssh-copy-id.
ssh-keygen genera claves públicas y privadas y ssh-copy-id copia la clave pública del host local en los archivos de claves autorizadas del servidor remoto. Ssh-copy-id asigna el permiso adecuado al host remoto automáticamente.
Generar par de claves ssh usando ssh-keygen y copiar al host remoto
Ejecute el siguiente comando para generar claves públicas y privadas.
$ ssh-keygen
Se le pedirá que configure el directorio para almacenar el archivo de clave y la frase de contraseña. Simplemente presione enter para establecer el valor predeterminado en cada paso y continuar.
En el directorio de inicio del usuario, ejecute el siguiente comando para enumerar los archivos generados.
$ cd ~/.ssh
Puede ver el archivo id_rsa e id_rsa.pub. Id_rsa es un archivo de clave privada, que debe mantener en secreto. Mientras que id_rsa.pub es un archivo de clave pública que debe copiarse en un servidor remoto.
Ahora ejecute el siguiente comando para copiar la clave pública en el host remoto.
Sintaxis
$ ssh-copy-id [email protected]_host_ip
Ejemplo
$ ssh-copy-id [email protected]
Ahora intente iniciar sesión sin proporcionar una contraseña
$ ssh [email protected]_host_ip
Ejemplo
$ ssh [email protected]
El resultado muestra que el inicio de sesión sin contraseña se ha realizado correctamente. No es necesario que introduzca una contraseña.
También puede copiar el contenido de id_rsa manualmente y pegarlo dentro del archivo authorized_keys del servidor remoto. Esto es lo que hace ssh-copy-id por usted.
Conclusión
En este artículo, aprendimos cómo habilitar el inicio de sesión sin contraseña ssh usando ssh-keygen y ssh-copy-id. Si tiene sugerencias y comentarios, envíe un comentario a continuación.