Inicio » TUTORIALES » Conectarnos a nuestra cuenta usando autenticación basada en clave pública/privada (desde Linux)

Conectarnos a nuestra cuenta usando autenticación basada en clave pública/privada (desde Linux)

Para acceder remotamente a tu cuenta del Laboratorio de Linux utilizando autenticación basada en clave pública/privada, necesitarás generar un par de claves SSH. Si quieres entender como funciona este proceso, puedes leer esta página.

En este tutorial asumimos que estás trabajando bajo un sistema Linux.

Máquinas que entran en juego en este tutorial:

  • Nuestra máquina Linux local, donde generamos las claves SSH (cliente)
  • La máquina Linux remota, a la que nos queremos conectar usando la autenticación basada en claves SSH. (servidor)

Para generar un par de claves SSH (pública/privada) sigue los siguientes pasos:

  • En tu Linux local (cliente), abre un terminal y ejecuta el comando ssh-keygen . Puedes aceptar por defecto todas las preguntas.
  • Con estos sencillos pasos habrás generado tu par de claves ssh.
    • La clave pública, se guarda en el fichero $HOME/.ssh/id_rsa.pub
    • La clave privada, se guarda en el fichero $HOME/.ssh/id_rsa.
    • Debes tener a buen recaudo la clave privada.

Para autenticarnos en el Laboratorio usando la clave pública/privada (máquina remota)

Si queremos autenticarnos en las máquinas del Laboratorio usando la autenticación basada en clave pública/privada en vez de usuario/contraseña, debemos añadir la clave pública que hemos generado, a nuestro fichero $HOME/.ssh/authorized_keys del Laboratorio.

Es decir, en la máquina remota debemos copiar el contenido del fichero id_rsa.pub previamente generado en nuestro Linux local en el fichero $HOME/.ssh/authorized_keys.

Ojo: debes copiar la clave pública, no la privada.

Lo más fácil es que hagas un cat del fichero y copies con el ratón el contenido, para posteriormente pegarlo en el Linux remoto. Lo puedes hacer con los siguientes comandos:

En la máquina Linux local (Tu portátil o PC):

agutierr@MIPC ~ $ cat .ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCp7qJOpaPOArR0O3QweOvdEUCvLYoIqYtcaiHOobIY+1WwjiVviaQbCtKjiByyvtQvelxWBKY9ofUajC6kytwTE+JuGbmyip4JIWPtTaYqTgGnD+umq/8zimBIIlxCkmAM1HrOceYgkFq3zys0JF0iWKV+F8KSc+6HsTwpLzX45HCqDS5TsqX+T6jZjXCG4/g9zwhoss27/GKMOfTWEvU5uVjkWSObVZwzFjI1zTiwCmIUiU4fDGA3JkUKwUI7woGauyDsjQHHWfIw+w3nuRcJAe/bZlsSC5uvd3oEaCM0b18D8Jnl+r06BzVHKKvgZmA2XicaOiSopbIuKAHZ2BWV agutierr@MIPC
agutierr@MIPC ~ $ 

En la máquina Linux remota (Por ejemplo, una máquina del Laboratorio):

agutierr@f-l3208-pc02:~$ echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCp7qJOpaPOArR0O3QweOvdEUCvLYoIqYtcaiHOobIY+1WwjiVviaQbCtKjiByyvtQvelxWBKY9ofUajC6kytwTE+JuGbmyip4JIWPtTaYqTgGnD+umq/8zimBIIlxCkmAM1HrOceYgkFq3zys0JF0iWKV+F8KSc+6HsTwpLzX45HCqDS5TsqX+T6jZjXCG4/g9zwhoss27/GKMOfTWEvU5uVjkWSObVZwzFjI1zTiwCmIUiU4fDGA3JkUKwUI7woGauyDsjQHHWfIw+w3nuRcJAe/bZlsSC5uvd3oEaCM0b18D8Jnl+r06BzVHKKvgZmA2XicaOiSopbIuKAHZ2BWV agutierr@MIPC" >> .ssh/authorized_keys
agutierr@f-l3208-pc02:~$ 

Si no tienes creado el directorio .ssh en la máquina remota, ejecuta

mkdir .ssh

antes del echo.

Importante: Passphrase / frase de paso 

Como vemos, se ha generado un par de claves SSH, pero sin passphrase o frase de paso. Esto significa que cualquier persona que tenga en su poder la clave privada, podrá usarla sin problemas. Si generas la clave con una frase de paso, para poder usar la clave privada será necesario desbloquearla introduciendo la passphrase.  Te recomendamos añadir una passphrase.

Si añades una passphrase, para poder desbloquear la clave privada será necesario introducirla. Es muy difícil (computacionalmente muy caro) desbloquear una clave privada si no tienes acceso a la passphrase.