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

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

SSH es un protocolo de cliente y servidor, y nos ayuda a acceder al sistema remoto a través de la red a través del túnel encriptado. Cada vez que la máquina cliente accede al servidor que ejecuta SSH, el cliente descarga la clave segura del servidor y, al mismo tiempo, el servidor también descarga la clave del cliente. Estas dos claves crean el túnel encriptado entre el servidor y el cliente, de modo que los datos se transfieren de manera muy segura a través de la red.

Si la organización tiene una gran cantidad de servidores, cada vez que el administrador debe ingresar la contraseña para acceder al sistema remoto. Es una molestia ingresar la contraseña varias veces; SSH viene con una nueva función llamada inicio de sesión sin contraseña, que ayuda a acceder a la máquina remota sin ingresar la contraseña.

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 7

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

Podemos configurar un inicio de sesión sin contraseña SSH de dos maneras. Elija cualquiera de los métodos.

  1. Automático:(recomendado)
  2. Manual

Método 1:(Automático)

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.

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

[raj@server ~]$ ssh-keygen

Salida:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/raj/.ssh/id_rsa):  << Press Enter
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):  << Press Enter
Enter same passphrase again:  << Press Enter
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:0oqVhWQzIV+hFFHkquVCTihmORqtt+vXHIXhhXoIosI [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|    . XB=.       |
|. .  *oB.        |
|o. . +++o        |
|oE..o +=.        |
|+=o o.*.S        |
|++.+ *.o         |
|o . =oo.         |
| . ...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 para el inicio de sesión sin contraseña.

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

Salida:

total 8
drwx------. 2 raj raj   38 Sep  6 00:37 .
drwx------. 3 raj raj   74 Sep  6 00:37 ..
-rw-------. 1 raj raj 1675 Sep  6 00:37 id_rsa
-rw-r–r–. 1 raj raj 406 Sep 6 00:37 id_rsa.pub

Utilice el comando ssh-copy-id con un archivo de entrada de id_rsa.pub.

[raj@server ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
El comando ssh-copy-id crea ~/.ssh/authorized_keys en la máquina de destino si el archivo no lo hace. De lo contrario, ssh-copy-id agregaría la nueva clave a las claves existentes.

Salida:

The authenticity of host 'client.itzgeek.local (192.168.1.20)' can't be established.
ECDSA key fingerprint is SHA256:sueTz6FURcKDbeyGkpE7lUHOaosW/rkkvlG18v98T7Y.
ECDSA key fingerprint is MD5:f7:39:52:7e:2e:a4:20:84:ff:d7:72:21:20:36:91:76.
Are you sure you want to continue connecting (yes/no)? yes << Type Yes and Press Enter
/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: << Enter password of destination machine user (ram)

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.

Método 2:(Manual)

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): << Press Enter
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):  << Press Enter
Enter same passphrase again:  << Press Enter
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:0oqVhWQzIV+hFFHkquVCTihmORqtt+vXHIXhhXoIosI [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|    . XB=.       |
|. .  *oB.        |
|o. . +++o        |
|oE..o +=.        |
|+=o o.*.S        |
|++.+ *.o         |
|o . =oo.         |
| . ...o          |
| .+o             |
+----[SHA256]-----+

Una vez que haya creado, encontrará dos archivos id_rsa e id_rsa.pub dentro del directorio .ssh. Vamos a usar id_rsa.pub para el inicio de sesión sin contraseña.

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

Salida:

total 8
drwx------. 2 raj raj   38 Sep  6 00:37 .
drwx------. 3 raj raj   74 Sep  6 00:37 ..
-rw-------. 1 raj raj 1675 Sep  6 00:37 id_rsa
-rw-r--r--. 1 raj raj 406 Sep 6 00:37 id_rsa.pub
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 la máquina de destino (archivo ~/.ssh/authorized_keys).

Método de copia: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

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

[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 de origen 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 de copia:2

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

Edite el archivo authorized_keys.

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

En la máquina de origen, vea el contenido del archivo id_rsa.pub mediante el comando cat. Copie el contenido seleccionándolo (asumiendo que está usando PUTTY).

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

Salida: (Muestra)

Coloque el contenido anterior 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 SSH. Te llevará directamente al shell sin pedir la contraseña.

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

[ram@client ~]$ uname -a

Conclusión

Eso es todo. Este inicio de sesión sin contraseña ahorra tiempo y energía a los administradores del sistema. 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 el servidor SysLog en CentOS 7 / RHEL 7

  4. Cómo configurar el servidor NFS en CentOS 7 / RHEL 7

  5. Cómo configurar claves SSH en CentOS 8

Cómo configurar Jenkins en CentOS 8 / RHEL 8

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

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

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

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.1.10 raj CentOS 7/RHEL 7 Máquina de origen
    cliente.itzgeek.local 192.168.1.20 carnero CentOS 7/RHEL 7 Máquina de destino