¿Cómo iniciar sesión en SSH sin una contraseña usando una clave privada?

SSH o Secure Shell o Secure Socket Shell es un protocolo de red criptográfico. Dos computadoras pueden compartir datos confidenciales a través de una red insegura usando SSH. Se puede utilizar para la autenticación de contraseña segura y la comunicación cifrada mediante un par de claves públicas y privadas. SSH se usa comúnmente para administrar sistemas de forma remota de forma segura a través de Internet.

Iniciar sesión en SSH usando una clave privada es una forma de autenticación fácil, segura y conveniente que las contraseñas.

Discutiremos un proceso de 3 pasos para la autenticación sin contraseña utilizando una clave privada en SSH.

Implementación paso a paso

Paso 1: Generación de clave pública y privada

Al principio, crearemos una clave pública y privada con ssh-keygen en la máquina local usando el siguiente comando:

ssh-keygen

Después de ejecutar el comando anterior, solicitará una ubicación para almacenar la clave privada. Si no especificamos ninguna ubicación, será la ubicación predeterminada. Si ya existe una clave, le pedirá que la sobrescriba. A continuación, debe proporcionar una frase de contraseña para la clave. Es opcional y podemos dejarlo vacío. Ahora, sus claves públicas y privadas se generarán y guardarán en las ubicaciones respectivas. En caso de que no haya especificado la ubicación, la ubicación predeterminada será:

Llave privada

/home/user/.ssh/id_rsa

Llave pública

/home/user/.ssh/id_rsa.pub

A continuación se muestra la representación pictórica de la terminal después de ejecutar el siguiente comando:

 

Paso 2: Cambiar permisos

El permiso de archivo de la clave privada debe ser 600. Entonces, usaremos el comando chmod para cambiar su permiso. 

Para cambiar los permisos, primero cambiaremos el directorio al directorio de la clave privada y luego ejecutaremos el siguiente comando:

cd ~/.ssh
chmod 600 id_rsa

Nota : hemos cambiado al directorio predeterminado aquí, será diferente si ha especificado un directorio diferente en el paso anterior.

A continuación se muestra la representación pictórica de la terminal después de ejecutar el siguiente comando:

 

Paso 3: configurar el servidor

Ahora tenemos que configurar el servidor, para usar nuestra clave privada para iniciar sesión.

Para hacerlo, necesitamos ejecutar el siguiente comando:

ssh-copy-id user@IP

Nota:   este comando se ejecutará en la máquina local y no en el servidor remoto . Para que funcione, la autenticación de contraseña entre la máquina local y el servidor debe estar configurada y presente en ese momento.

A continuación se muestra la representación pictórica de la terminal después de ejecutar el siguiente comando:

 

Ahora estamos listos para conectarnos con un servidor remoto usando SSH sin contraseña.

Para hacerlo, use el siguiente comando:

ssh user@IP

A continuación se muestra la representación pictórica de la terminal después de ejecutar el siguiente comando:

 

Si ha especificado una frase de contraseña, le pedirá lo mismo.

En caso de que el par de claves no esté en su ubicación predeterminada, use el siguiente comando:

ssh -i "private key path" user@IP

Ahora hemos realizado con éxito un inicio de sesión sin contraseña en SSH usando una clave privada.

Publicación traducida automáticamente

Artículo escrito por satyajit1910 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *