Cómo utilizar claves SSH con PuTTY en Windows

El cliente PuTTY SSH para Microsoft Windows no utiliza el mismo formato de clave que el cliente OpenSSH. Si quieres utilizar PuTTY, tienes que crear una nueva clave pública y privada SSH utilizando la herramienta PuTTYgen o convertir una clave privada OpenSSH existente.

El protocolo SSH (Secure Shell) puede gestionar la autenticación mediante una combinación tradicional de nombre de usuario y contraseña o utilizando un par de claves pública y privada. La combinación de claves SSH establece la relación de seguridad entre el cliente y el servidor, eliminando así la necesidad de utilizar una contraseña durante la autenticación.

Requisitos

  • Cliente PuTTY SSH para Microsoft Windows
  • Servidor remoto accesible mediante OpenSSH

Instalación de PuTTY y PuTTYgen

Tanto PuTTY como PuTTYgen son herramientas necesarias para convertir claves OpenSSH y conectarse al servidor a través de SSH. Estas dos utilidades pueden descargarse individualmente o, preferiblemente, en forma de instalador para Windows desde la página de descarga de PuTTY.

Una vez descargado el instalador de PuTTY para Windows, haz doble clic en el ejecutable de la carpeta de descargas y sigue el asistente de instalación. La configuración por defecto es la más indicada para la mayoría de las instalaciones. Tanto PuTTY como PuTTYgen deberían estar ahora accesibles desde la lista de programas de Windows.

Utilizar claves públicas y privadas existentes

Si ya tienes una clave pública y privada de OpenSSH, copia la clave id_rsa en tu escritorio de Windows. Puedes hacerlo copiando y pegando el contenido del archivo o utilizando un cliente SCP como PSCP, que está incluido en la instalación de PuTTY, o FileZilla.

A continuación, inicia PuTTYgen desde la lista de programas de Windows.

  1. Haz clic en “Conversions” en el menú del Generador de Claves PuTTY y selecciona “Import key”.
  2. Navega hasta la clave privada de OpenSSH y haz clic en “Open”.
  3. En “Actions” / “Save the generated key”, selecciona “Save private key2”.
  4. Elige una frase de contraseña opcional para proteger la clave privada.
  5. Guarda la clave privada en el escritorio como “id_rsa.ppk”.
PuTTY Key Generator
Con el PuTTY Key Generator puedes utilizar claves OpenSSH ya existentes.

Si la clave pública ya está añadida al archivo “authorized_keys” del servidor SSH remoto, procede a conectar al servidor con la clave privada.

De lo contrario, procede a copiar la clave pública en el servidor.

Crear nuevas claves públicas y privadas

Inicia PuTTYgen desde la lista de programas de Windows y sigue los siguientes pasos.

  1. En “Parameters”, aumenta el “Number of bits in a generated key:” a un valor mínimo de 2048.
  2. En “Actions” / “Generate a public/private key pair”, haz clic en “Generate”.
  3. Se te indicará que muevas el cursor del ratón dentro de la ventana del PuTTY Key Generator de forma aleatoria para generar la clave privada.
  4. Una vez que aparezca la información de la clave, haz clic en “Save private key” en “Actions” / “Save the generated key”.
  5. Guarda la clave privada en el escritorio como “id_rsa.ppk”.
  6. En la casilla “Key” / “Public key for pasting into OpenSSH authorized_keys file:” aparece la clave pública.
PuTTYgen
Puedes utilizar la herramienta PuTTYgen para generar nuevas claves privadas y públicas.

Copiar la clave pública al servidor

La clave pública de OpenSSH se encuentra en “Public key for pasting info OpenSSH authorized_keys file” la casilla “Key”: la clave pública empieza por ssh-rsa seguido de una cadena de caracteres.

  1. Destaca toda la clave pública dentro del PuTTY Key Generator y copia el texto.
  2. Inicia PuTTY e inicia sesión en el servidor remoto con tus credenciales de usuario existentes.
  3. Utiliza tu editor de texto preferido para crear y/o abrir el archivo authorized_keys:
vi ~/.ssh/authorized_keys
  1. Pega la clave pública en el archivo authorized_keys.
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBp2eUlwvehXTD3xc7jek3y41n9fO0A+TyLqfd5ZAvuqrwNcR2K7UXPVVkFmTZBes3PNnab4UkbFCki23tP6jLzJx/MufHypXprSYF3x4RFh0ZoGtRkr/J8DBKE8UiZIPUeud0bQOXztvP+pVXT+HfSnLdN62lXTxLUp9EBZhe3Eb/5nwFaKNpFg1r5NLIpREU2H6fIepi9z28rbEjDj71Z+GOKDXqYWacpbzyIzcYVrsFq8uqOIEh7QAkR9H0k4lRhKNlIANyGADCMisGWwmIiPJUIRtWkrQjUOvQgrQjtPcofuxKaWaF5NqwKCc5FDVzsysaL5IM9/gij8837QN7z rsa-key-20141103
  1. Guarda el archivo y cierra el editor de texto.
  2. Ajusta los permisos del archivo authorized_keys para que el archivo no permita permisos de escritura del grupo.
chmod 600 ~/.ssh/authorized_keys
  1. Sal del servidor remoto.

Conectarse al servidor con la clave privada

Ahora ha llegado el momento de probar la autenticación con clave SSH. Puedes cerrar la herramienta PuTTYgen y volver a ejecutar PuTTY.

  1. Introduce el nombre de host o la dirección IP del servidor remoto en “Session”.
  2. Navega hasta “Connection” > “SSH” > “Auth”.
  3. Haz clic en “Browse…” en “Authentication parameters” / “Private key file for authentication”.
  4. Localiza la clave privada “id_rsa.ppk” y haz clic en “Open”.
  5. Por último, vuelve a hacer clic en “Open” para iniciar sesión en el servidor remoto con la autenticación del par de claves.
Conectarse al servidor con una clave privada
Con el cliente PuTTY SSH puedes probar si la autenticación de claves funciona.