GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar el inicio de sesión sin contraseña SSH en CentOS 8 / RHEL 8

SSH es un protocolo de cliente y servidor, y nos ayuda a acceder de forma segura al sistema remoto a través de la red a través del túnel cifrado. SSH tiene un mecanismo de transferencia de archivos (SCP) incorporado para transferir archivos y directorios a través de la red, y es mucho más seguro que FTP (Protocolo de transferencia de archivos).

En entornos más grandes, es una molestia ingresar la contraseña cada vez que se accede a máquinas remotas. Entonces, para facilitar el inicio de sesión, podemos usar la función sin contraseña SSH para acceder a la máquina remota sin ingresar la contraseña.

Aquí, veremos cómo configurar el inicio de sesión sin contraseña SSH en CentOS 8 / RHEL 8.

Supuestos

Aquí tenemos dos máquinas con dos nombres de usuario diferentes.

Aquí, usaré un nombre de host en lugar de una dirección IP.

Siga los pasos para crear el inicio de sesión sin contraseña.

Configurar inicio de sesión sin contraseña SSH en CentOS 8

Para habilitar el inicio de sesión sin contraseña SSH, debemos colocar la entrada de clave pública de la máquina local en el archivo ~/.ssh/authorized_keys de la máquina remota (~ representa el directorio de inicio del usuario).

Podemos configurar un inicio de sesión sin contraseña SSH de dos maneras. Elige cualquiera de las formas.

  1. Uso del comando ssh-copy-id
  2. Copiar claves manualmente

Uso del comando ssh-copy-id

Este método implica generar un par de claves SSH en la máquina de origen y colocarlo en la máquina de destino con un solo comando (ssh-copy-id).

El comando ssh-copy-id agrega la clave pública SSH generada a las claves existentes en el archivo ~/.ssh/authorized_keys en el destino. Si el archivo ~/.ssh/authorized_keys no está presente en la máquina de destino, el comando lo crearía y colocaría la clave pública SSH.

Generar clave pública

Inicie sesión en la máquina de origen y cree un par de claves SSH con el siguiente comando.

[raj@server ~]$ ssh-keygen

Salida:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/raj/.ssh/id_rsa):
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/raj/.ssh/id_rsa.
Your public key has been saved in /home/raj/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:8BuI21rECULGQMs3BtU2o3jHyHghg+p5RE8naQTQP2A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|+**o+..          |
|o=+E X .         |
|.oX+& *          |
|.ooO.X =         |
|. = o * S        |
| o . +   o       |
|  . . o .        |
|     o           |
|    .            |
+----[SHA256]-----+

Una vez que haya creado, encontrará dos archivos id_rsa e id_rsa.pub dentro del directorio .ssh. Vamos a utilizar id_rsa.pub (clave pública) para el inicio de sesión sin contraseña SSH.

[raj@server ~]$ ls -al ~/.ssh/

Salida:

total 8
drwx------. 2 raj raj   38 Nov  7 21:50 .
drwx------. 3 raj raj   74 Nov  7 21:50 ..
-rw-------. 1 raj raj 1831 Nov  7 21:50 id_rsa
-rw-r--r--. 1 raj raj  406 Nov  7 21:50 id_rsa.pub

Copiar clave pública

Use el comando ssh-copy-id que viene con el paquete openssh-clients con un archivo de entrada de id_rsa.pub.

[raj@server ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Salida:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/raj/.ssh/id_rsa.pub"
The authenticity of host 'client.itzgeek.local (192.168.0.20)' can't be established.
ECDSA key fingerprint is SHA256:z4TLSbno9MLNF1ucNq4gtMlLQDVgrfLKEt8JguchKdo.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

Copiar claves manualmente

Generar clave pública

Este método implica generar un par de claves SSH en la máquina de origen y colocarlo en la máquina de destino iniciando sesión manualmente.

Primero, inicie sesión en la máquina de origen y cree un par de claves SSH con el siguiente comando.

[raj@server ~]$ ssh-keygen

Salida:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/raj/.ssh/id_rsa):
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/raj/.ssh/id_rsa.
Your public key has been saved in /home/raj/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:8BuI21rECULGQMs3BtU2o3jHyHghg+p5RE8naQTQP2A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|+**o+..          |
|o=+E X .         |
|.oX+& *          |
|.ooO.X =         |
|. = o * S        |
| o . +   o       |
|  . . o .        |
|     o           |
|    .            |
+----[SHA256]-----+

Una vez que haya creado, encontrará dos archivos id_rsa e id_rsa.pub dentro del directorio .ssh. Vamos a utilizar id_rsa.pub (clave pública) para el inicio de sesión sin contraseña SSH.

[raj@server ~]$ ls -al ~/.ssh/

Salida:

total 8
drwx------. 2 raj raj   38 Nov  7 21:50 .
drwx------. 3 raj raj   74 Nov  7 21:50 ..
-rw-------. 1 raj raj 1831 Nov  7 21:50 id_rsa
-rw-r--r--. 1 raj raj  406 Nov  7 21:50 id_rsa.pub

Copiar clave pública

Puede usar el comando scp para copiar id_rsa.pub en el destino o copiar el contenido del archivo id_rsa.pub y pegarlo en el archivo ~/.ssh/authorized_keys de la máquina de destino.
Método 1

Inicie sesión en la máquina de destino y cree el directorio .ssh en el directorio de inicio del usuario, si no existe.

[ram@client ~]$ mkdir ~/.ssh

[ram@client ~]$ chmod 700 ~/.ssh

Utilice el comando scp para copiar id_rsa.pub en el directorio /tmp de la máquina de destino.

[raj@server ~]$ scp -pr  ~/.ssh/id_rsa.pub [email protected]:/tmp

Deberá ingresar la contraseña para el destino, ya que aún debemos configurar el inicio de sesión sin contraseña.

Coloque la clave pública en el archivo authorized_keys para iniciar sesión sin contraseña.

[ram@client ~]$ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

Actualice el permiso del archivo.

[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys
Método 2

Inicie sesión en la máquina de destino y cree un directorio .ssh en el directorio de inicio del usuario, si no existe.

[ram@client ~]$ mkdir ~/.ssh

[ram@client ~]$ chmod 700 ~/.ssh

Edite el archivo authorized_keys.

[ram@client ~]$ vi ~/.ssh/authorized_keys

En la máquina fuente, vea el contenido del archivo id_rsa.pub usando el comando cat.

[raj@server ~]$ cat ~/.ssh/id_rsa.pub

Salida: (Muestra)

Copie el contenido y péguelo en el archivo authorized_keys en el destino y guárdelo.

Luego, actualice el permiso del archivo.

[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys

Probar inicio de sesión sin contraseña

Ahora acceda a la máquina remota usando el comando ssh.

[raj@server ~]$ ssh [email protected]

Ahora, debería poder acceder a la máquina remota sin la contraseña.

Conclusión

Eso es todo. Espero que pueda configurar el inicio de sesión sin contraseña SSH en CentOS 8/RHEL 8. Comparta sus comentarios en la sección de comentarios.


Cent OS
  1. Cómo configurar el inicio de sesión SSH sin contraseña

  2. Contraseña Sin inicio de sesión SSH – CentOS 6 / RHEL 6

  3. Cómo configurar claves SSH en CentOS 8

  4. Cómo configurar las claves SSH para el inicio de sesión ssh "sin contraseña" en Linux

  5. Cómo configurar claves SSH para inicio de sesión SSH "sin contraseña" en CentOS/RHEL

Cómo configurar Jenkins en CentOS 8 / RHEL 8

Cómo configurar Icinga Web 2 en CentOS 8 / RHEL 8

Cómo configurar el inicio de sesión sin contraseña SSH en CentOS 7 / RHEL 7

Cómo configurar un Chef 12 en CentOS 7 / RHEL 7

Cómo generar una clave SSH en CentOS 8

Cómo configurar el inicio de sesión sin contraseña SSH en AlmaLinux

    Nombre de host Dirección IP Usuario SO Propósito
    servidor.itzgeek.local 192.168.0.10 raj CentOS 8/RHEL 8 Máquina de origen
    cliente.itzgeek.local 192.168.0.20 carnero CentOS 8/RHEL 8 Máquina de destino