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

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 Windows.

Si estás trabajando en Windows, necesitarás tener instalado PuTTy en su versión completa, es decir, no sólo necesitas el EXE de Putty sino todas las herramientas que incluye. Sino lo tienes instalado al completo, descarga de su página el instalador (Putty installer) e instalarás todas las herramientas.

Una vez lo tengas instalado, deberás generar un par de claves: la clave pública y la clave privada de SSH. Para ello debes abrir el programa PuTTyGen como se muestra en la siguiente imagen:

puttygen

Debes pinchar en el botón Generate. Los demás parámetros los puedes dejar por defecto. Una vez hayas pinchado en este botón, debes mover el ratón por la barra de desplazamiento para generar entropía en el sistema (con esto hacemos trabajar mejor al generador de números aleatorios, garantizando una clave mejor). Una vez que el proceso haya acabado, el par de claves se habrá generado, y verás una ventana parecida a ésta:

Clave-ssh-generada

Como vemos, se ha generado un par de claves SSH. Ahora debemos elegir si queremos añadir, por seguridad, una frase de paso (passphrase) o no. Esto es opcional. Si no añadimos passphrase, si alguien consiguiera acceso a nuestra clave privada, podría conectarse a aquellas máquinas donde hubiéramos dejado la clave pública como llave autorizada. Te recomendamos añadir una passphrase. Si añades una passphrase, para poder desbloquear la clave privada será necesario introducirla. Es muy difícil desbloquear una clave privada si no tienes acceso a la passphrase.

Para finalizar, debemos presionar los botones “Save public key” y “Save private key” para guardar los ficheros de clave pública y clave privada. Guarda la clave privada a buen recaudo.

Es usual que a la clave pública, se la identifique con extensión .pub. Pero esto es totalmente opcional. A la clave privada se le suele poner extensión .ppk. Los puedes guardar en el mismo directorio, pero que no se te olvide ;-).

Una vez hemos hecho ésto, el último paso será copiar el texto que aparece en el cuadro “Public key por pasting into OpenSSH”. En mi caso, este texto es

Debemos seguir los pasos siguientes:

  • Seleccionamos el texto y lo copiamos al clipboard (control-C)
  • Nos conectamos a nuestra cuenta del Laboratorio, en cualquier máquina.
  • Creamos en nuestro directorio HOME, si no está creado ya, el directorio .ssh con el comando
  • Abrimos un fichero para escribir en él con cualquier editor de texto, que se llame exactamente authorized_keys:
  • Insertamos el texto que hemos copiado del portapapeles. Si estamos en PuTTy, podemos usar el botón central del ratón para pegar.

De esta forma, si hacemos un cat del fichero authorized_keys, deberíamos ver algo de este estilo:

authorized_keys

Importante: asegúrate que los permisos del fichero authorized_keys son exactamente los que se muestran en la imagen (644).

Una vez llegados a este punto, solamente nos queda cargar la clave privada en PuTTy y conectarnos. Para eso, usaremos el programa PageAnt. Cuando lo arranques, no verás nada, ya que PageAnt se queda residente en memoria en la barra de notificación de Windows. Acude al área de Notificación de Windows, y verás el icono de PageAnt. Con el botón derecho del ratón, presiona “Add Key” y navega hacia donde tenías la clave privada que hemos generado anteriormente. Presiona en Add Key.

Si todo ha ido bien, al pinchar en la entrada del menú “View Keys” verías algo de este estilo:

page-antSi añadiste una frase de paso en tu clave, el programa la solicitará. Una vez hecho esto, la clave ha sido cargada en memoria y en los próximos logins, intentará realizar la autenticación con la clave pública.