Cómo crear una llave SSH en Windows


En la gran red de redes existen muchos servicios en una nube, alguno de estos servicios abarcan la administración de servidores remotos desde tu PC, la autenticación en servicios de hosting, y sistemas de control de versiones como Github.

Una de las principales formas de acceder a estos servicios remotos es mediante protocolo ssh, y con el objetivo de no tener que poner las credenciales del servicio en cuestión cada vez que queramos consumirlo, se utilizan llaves ssh que identifican tu computadora de forma única, así cuando se hace la solicitud de acceder al servicio no es necesario poner tu credenciales, tu PC es reconocida automáticamente mediante esta llave ssh.

Creando la llave

Putty es un programa para Windows que permite la conexión a equipos remotos mediante ssh. Este trae consigo un programa para generar llaves llamado PuTTYGen, el cual al invocarlo muestra la siguiente interfaz:

Interfaz principal de PuttyGen

Fig1 Interfaz principal de PuttyGen

Al dar clic en el botón Generate se muestra una barra de progreso indicando que muevas el mouse por el área en blanco hasta que se genere la llave.

Generando la llave

Fig2 Generando la llave

Al terminar, la llave se genera instantáneamente y se te pide que escribas una contraseña [1] que servirá como mecanismo adicional de seguridad a la hora de identificarte. Luego de hacer esto presionas el botón “Save private key” (“Salvar la llave privada”) [2] pues en algunos casos la necesitas.

La llave pública se muestra en la caja superior [3] y es la que necesitas proporcionarle al servicio remoto al que deseas acceder utilizando este mecanismo. Con clic derecho sobre la caja puedes seleccionar la llave y copiarla hacia un documento de texto para que no la pierda.

Selección de la llave

Fig3 Selección de la llave

Es válido aclarar que las llaves creadas con Putty difieren de las que se crean con OpenSSH. Estas últimas comienzan con la cadena ---- BEGIN SSH2 PUBLIC KEY, y la que recién creamos con Putty comienza con ssh-rsa AAAA por lo que deberás tener esto en consideración a la hora de crearlas, puesto que la mayoría de los servicios en la nube, como GitHub, Fortrabbit o la Joyent Public Cloud usan este último formato.