SSH se utiliza para la validación y autenticación de los usuarios con el uso de pares de valores clave como claves públicas y privadas. Dichas claves se generan utilizando el comando ssh-keygen. Puede generar diferentes tipos de claves como RSA, DSA, etc.
Aquí en LinuxAPT, analizaremos el proceso de usar el comando ssh-keygen para generar diferentes claves que autentican las claves públicas y privadas utilizadas por SSH.
¿Cómo usar ssh-keygen?
Con el comando ssh-keygen, puede generar diferentes tipos de claves como RSA, DSA, etc.
claves RSA;
- $HOME/.ssh/id_rsa:archivo de identidad de autenticación RSA del usuario. Solo es legible por el usuario.
- $HOME/.ssh/id_rsa.pub:archivo de clave pública RSA para la autenticación.
claves DSA;
- $HOME/.ssh/id_dsa:archivo de identidad de autenticación DSA del usuario. Solo es legible por el usuario.
- $HOME/.ssh/id_dsa.pub:archivo de clave pública DSA para la autenticación.
Uso de ssh-keygen para crear claves RSA
Aquí, ssh-keygen se usa para crear claves RSA para la autenticación. De forma predeterminada, si solo usa el comando ssh-keygen, genera las claves rsa. Generemos las claves rsa ejecutando el comando:
$ ssh-keygen -t rsa
O
$ ssh-keygen
Aquí, tanto la clave pública, es decir, id_rsa.pub, como la clave privada, es decir, id_rsa, se guardan en la ubicación predeterminada que es $HOME/.ssh/.
Como la clave pública debe copiarse en el servidor remoto para que el usuario pueda iniciar sesión con la autenticación SSH. Se copia en el archivo $HOME/.ssh/authorized_keys del servidor remoto. Verifiquemos la clave pública generada con el comando anterior:
$ cat id_rsa.pub
Simplemente copie esta clave pública y péguela en esta ubicación:archivo $HOME/.ssh/authorized_keys del servidor remoto para la autenticación.
Uso de ssh-keygen para crear claves DSA
Asimismo, las claves DSA también se pueden crear con un simple cambio en el comando. De forma predeterminada, si solo usa el comando ssh-keygen, genera las claves rsa. Pero para generar claves DSA, simplemente coloque -t dsa como argumento en el comando. Para más detalles, puede ejecutar el comando:
$ ssh-keygen -t dsa
Tanto la clave pública, es decir, id_dsa.pub, como la clave privada, es decir, id_dsa, también se guardan en la ubicación predeterminada que es $HOME/.ssh/.
Simplemente puede copiar la clave pública en el servidor remoto para que el usuario inicie sesión con la autenticación SSH. Se copia en el archivo $HOME/.ssh/authorized_keys del servidor remoto. Verifiquemos la clave pública generada con el comando anterior:
$ cat id_dsa.pub
Copie esta clave pública y péguela en esta ubicación:archivo $HOME/.ssh/authorized_keys del servidor remoto para la autenticación.