Automatizar el inicio de sesión de SSH sin contraseña

Automatizar el inicio de sesión de SSH sin contraseña
Si desea realizar tareas en una máquina remota utilizando SSH, deberá habilitar los inicios de sesión automáticos de SSH para eliminar la necesidad de ingresar una contraseña en cada caso. Esto puede ser increíblemente útil si está llamando a SSH desde un comando shell.

En este tutorial, aprenderá cómo implementar inicios de sesión SSH sin contraseña en tres simples pasos.

Que es ssh?

Secure Shell, comúnmente conocido como SSH, es un protocolo de red utilizado para conexiones seguras entre un cliente y un servidor remoto. Es un servicio criptográfico que permite a los usuarios iniciar sesión y administrar máquinas de forma remota. Por defecto, utiliza una autenticación de nombre de usuario y contraseña.

Cómo habilitar el inicio de sesión sin contraseña de SSH

Configurar un inicio de sesión SSH sin contraseña automatizado en Linux es muy simple. Todo lo que necesita es generar una clave pública y copiarla al host remoto.

Los pasos proporcionados a continuación describen el proceso de creación y copia de la clave pública al host remoto.

Paso 1. Generando una nueva llave SSH

Para generar un nuevo par de claves SSH, use el comando proporcionado a continuación:

ssh-keygen

Esto generará interactivamente una clave pública y privada que puede usar para autenticar SSH.

La salida será similar a la que se muestra a continuación:

[centos@centos8 ~] $ ssh-keygen
Generación de pares de claves RSA públicas/privadas.
Ingrese el archivo en el que guardar la clave (/home/centos/.ssh/id_rsa):
Ingrese la frase de pases (vacío sin frase de pases):
Ingrese a la misma frase de pases nuevamente:
Su identificación se ha guardado en ID_RSA.
Su clave pública se ha guardado en ID_RSA.pub.
La huella digital clave es:
SHA256: GKJD1BEFH00O4TP2XD7VPBIBJABC7CJZSGXJDLXGCSS [email protected]
La imagen Randomart de la tecla es:
+---[RSA 3072]----+
| O+B.+O+O .|
| . O.= OB O.O ... o |
| +O.ob = x + o |
| . O =+O* O . + |
|… +E S + . |
|… |
| |
| |
| |
+----[SHA256]-----+
[centos@centos8 ~] $

NOTA: Puede crear un par de teclas SSH sin una frase de pases presionando Enter durante el proceso de creación.

Si está buscando la máxima seguridad, asegúrese de establecer una frase. Para inicios de sesión automatizados, simplemente omita la frase de pases.

Paso 2. Verificar la tecla SSH

Para verificar que el par de teclas SSH ha generado correctamente, puede enumerar los archivos en ~/.Directorio SSH como se muestra:

$ ls -la ~/.ssh

Esto enumerará la clave privada y pública como se muestra:

DRWX------. 2 Centos Centos 38 17 de mayo 01:14 .
DRWX------. 17 Centos Centos 4096 17 de mayo 01: 14 ..
-RW-------. 1 CENTOS CENTOS 2635 17 de mayo 01:14 ID_RSA
-RW-R-R--. 1 CENTOS CENTOS 588 17 de mayo 01:14 ID_RSA.pub

Paso 3. Copiar la clave pública al host remoto

Con el par de claves SSH a mano, necesitamos copiarlo en el host remoto. Por lo tanto, iniciar sesión sin contraseña.

La forma más sencilla de copiar su clave pública al host remoto es usar el comando ssh-copy-id como:

SSH-COPY-ID Nombre de usuario@Remote_IP_Address

Esto autenticará el nombre de usuario establecido y agregará la clave pública al archivo autorizado_keys en el host remoto.

Una vez que se carga la clave, puede iniciar sesión en el host remoto usando el comando:

SSH Nombre de usuario@remoto_host

Esto iniciará sesión automáticamente sin requerir una contraseña.

NOTA: Asegúrese de tener su par de claves privadas para iniciar sesión con éxito.

Conclusión

Este tutorial le mostró cómo configurar un inicio de sesión sin contraseña SSH usando pares de claves. Esto le permite automatizar tareas y administrar múltiples hosts remotos.