Conexiones con SSH sin contraseña bajo Windows utilizando PuTTY

De manera similar a como se hizo bajo un sistema Linux, es posible conectarse a un servidor SSH desde un cliente Windows sin la autenticación usuario/contraseña gracias a la generación de un par de llaves RSA.  Para esto viene al rescate el software libre con PuTTY.

Obtener el software.

Descargar los siguientes archivos.

Si se desea instalar el software en una unidad USB para llevarla consigo a cualquier parte, es mejor instalar la versión de Putty provista por PortableApps.

Generación del par de llaves.

Para generar las llaves: privada y pública, ejecute la aplicación PuTTYgen.exe.

Seleccione la siguiente configuracion.

  • Type of key to generate: SSH2-RSA
  • Number of bits in generated key: 1024
  • Action: Generate.

La aplicación le pedirá que mueva el ratón sobre la ventana por unos momentos para generar con esta información valores al azar.

Deje vacíos los campos Key passphrase y Confirm passphrase (*).

Presione el botón Save public key y almacene la llave pública en una ubicación conocida.  Guárdela con el nombre key.pub.

Presione el botón Save private key y almacene la llave privada en una hubicación conocida.  Guárdela con el nombre key.ppk.

Configuración del servidor remoto.

Transfiera la llave pública (key.pub) al servidor remoto.  Preferiblemente utilizando un transporte seguro como SFTP.

Importe la llave pública agregándola al archivo de llaves autorizadas.

$ ssh-keygen -i -f key.pub >> ~/.ssh/authorized_keys
$ chmod go-rwx ~/.ssh ~/.ssh/authorized_keys
$ rm key.pub

Configuración del cliente.

Inicie a PuTTY.exe y realice la siguiente configuración.

  • Session:
    • Host Name: Dirección IP o nombre FQDN del servidor SSH.
    • Connection Type: SSH.
    • Saved Sessions: Nombre para la sesión.
  • Connection:
    • Data:
      • Auto-login username: nombre de usuario (opcional).
    • SSH:
      • Preferred SSH protocol version: 2.
      • Auth:
        • Presione el botón Browse y ubique el archivo de la llave privada (key.ppk).

Vuelva a la rama Session y presione el botón Save para guardar la configuración recién especificada.

Conexión con el servidor remoto.

Inicie PuTTy.exe, elija la sesión almacenada con el nombre que especificó anteriomente y presione el botón Open.  Si se especificó el nombre de usuario bajo el campo Auto-login username el ingreso deberá ser inmediato, de lo contrario, el nombre de usuario será solicitado.

Asignación de una passphrase (*).

Una contraseña para la llave privada aumenta el nivel de seguridad de este esquema de autenticación ya que aunque una persona autorizada la obtenga no podrá utilizarla si no conoce la contraseña exacta.  La desventaja es que esta contraseña será solicitada al inicio de cada conexión.

Para esto se utiliza entonces otra aplicación de la familia PuTTY, el agente de autenticación SSH Pageant.  Su función es la de guardar en memoria las llaves privadas que ya han sido decifradas, es decir, su ejecución permite que la contraseña de las llaves privadas cifradas sea solicitada una única vez por cada sesión.

Para establecer una contraseña para la llave privada establezca su valor en los campos Key passphrase y Confirm passphrase cuando se está generando el par de llaves con PuTTYgen.exe.

Para utilizar el agente se debe ejecutar pageant.exe y hacer clic derecho sobre el icono que se crea en la barra de tareas al lado del reloj.

Seleccionar la opción Add key y seleccionar la ubicación del archivo de la llave privada: key.ppk.

En el diálogo Enter passphrase for key proporcione la contraseña que eligió cuando se estaba creando el par de llaves.

Este procedimiento faculta a PuTTY para conectarse directamente sin necesidad de solicitar nuevamente esta contraseña ya que será inmediatamente proporcionada por el agente.

Using username “jimezam”.
Authenticating with public key “rsa-key-20090202” from agent
Last login: Mon Feb  2 21:52:56 2009 from xxx.xxx.xxx.xxx
Have a lot of fun…

La información almacenada por el Pageant se ubica en memoria únicamente y se mantiene únicamente durante la sesión del usuario.

Enlaces.

2 thoughts on “Conexiones con SSH sin contraseña bajo Windows utilizando PuTTY”

Leave a Reply

Your email address will not be published. Required fields are marked *