GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar el comando ssh-keygen para configurar ssh sin contraseña

Usa el ssh-keygen comando para generar un par de claves de autenticación pública/privada . Las claves de autenticación permiten a un usuario conectarse a un sistema remoto sin proporcionar una contraseña. Las claves deben generarse para cada usuario por separado. Si genera pares de claves como usuario raíz, solo la raíz puede usar las claves.

Generar claves y configurar ssh sin contraseña con el comando ssh-keygen

1. Usa la -t opción para especificar el tipo de clave. Ejemplo:

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
3a:b8:10:71:b7:ee:66:15:0f:a2:b0:89:ef:65:0b:f0 root@geeklab
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|  . . .          |
|  .o ...o        |
|...+ ...S+       |
|.oo..o .. .      |
| .E + +.         |
|  .= +o.         |
| .. oo.          |
+-----------------+

Utilice la opción –t para especificar el tipo de clave que desea crear. Los valores posibles son
a. “rsa1 ” para la versión 1 del protocolo
b. “dsa ”, “ecdsa ”, o “rsa ” para la versión 2 del protocolo.

2. Tiene la opción de especificar una frase de contraseña para cifrar la parte privada de la clave. Si cifra su clave personal, debe proporcionar la frase de contraseña cada vez que use la clave. Esto evita que un atacante, que tiene acceso a su clave privada y puede hacerse pasar por usted y acceder a todas las computadoras a las que tiene acceso, pueda hacerlo. El atacante aún necesita proporcionar la frase de contraseña.

3. El comando ssh-key en el ejemplo del paso 1 generó dos claves en el directorio ~/.ssh:

$ ls ~/.ssh
id_rsa
id_rsa.pub

4. Para iniciar sesión o copiar archivos en un sistema remoto sin proporcionar una contraseña, copie la clave pública (~/.ssh/id_rsa.pub en este ejemplo) a ~/.ssh/authorized_keys en el sistema remoto. Establezca los permisos del directorio remoto ~/.ssh en 700 . Para permitir varias conexiones, agregue la clave pública al archivo authorized_keys en el sistema remoto en lugar de copiarlo. El siguiente ejemplo agrega la clave pública:

$ cat id_rsa.pub >> authorized_keys

5. Luego puede usar las herramientas ssh o scp para acceder al sistema remoto sin proporcionar una contraseña.

Hacer cumplir la autenticación basada en claves

1. Puede mejorar aún más la seguridad del sistema si deshabilita la autenticación de contraseña estándar y aplica la autenticación basada en clave. Para ello, establezca la Autenticación de contraseña opción a no en el /etc/ssh/sshd_config archivo de configuración de la siguiente manera:

# vi /etc/ssh/sshd_config
PasswordAuthentication no

2. Esto no permite usuarios cuyas claves no están en authorized_keys archivo del usuario específico en el servidor para conectarse a través de ssh. Se deniega la conexión y aparece el siguiente mensaje:

$ ssh remote_host
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

3. Configuración de PasswordAuthentication opción a , que es el predeterminado, permite que un usuario use una contraseña para la autenticación.


Linux
  1. Cómo usar el comando grep de Linux

  2. Cómo usar el comando de historial en Linux

  3. ¿Cómo usar el comando basename?

  4. Cómo usar el comando "pantalla" en Linux

  5. Cómo usar el comando ssh-keygen en Linux

Cómo usar el comando ping de Linux

Cómo usar el comando nmap

Cómo usar el comando fd en el sistema Linux

¿Cómo usar el comando wget en Linux?

¿Cómo usar el comando xargs en Linux?

Cómo usar el comando RPM en Linux