GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar el comando ssh-keygen en Linux

Utilice el comando ssh-keygen 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.

El siguiente ejemplo crea las partes pública y privada de una clave RSA:

# 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:
SHA256:z6zTVQ/PJYt2o96DrVYClmfcqBG8Pdb8nzqY2m2HjeY root@geeklab
The key's randomart image is:
+---[RSA 2048]----+
|         .       |
|          o      |
|           * =   |
|          * O B .|
|        S. B + O.|
|         +. = = =|
|         .+ooB+.o|
|        ..oo=Bo+.|
|        .o.+*E=. |
+----[SHA256]-----+

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

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.

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

$ ls ~/.ssh
id_rsa
id_rsa.pub

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. Configure el control remoto ~/.ssh permisos de directorio a 700 . Luego puede usar las herramientas ssh o scp para acceder al sistema remoto sin proporcionar una contraseña.

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

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 claves. Para hacerlo, establezca la opción PasswordAuthentication en no en /etc/ssh/sshd_config archivo de configuración de la siguiente manera:

# vi /etc/ssh/sshd_config
PasswordAuthentication no

Esto no permite a los 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 host01
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

Establecer la opción PasswordAuthentication en sí, que es la predeterminada, permite que un usuario use una contraseña para la autenticación.


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

  2. Cómo usar el comando grep de Linux

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

  4. Cómo usar el comando Su en Linux

  5. Cómo usar el comando id en Linux

Cómo usar el comando ping de Linux

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

Cómo usar el comando which en Linux