Acceder de forma remota a servidores Linux mediante SSH suele ser una práctica muy habitual. Para llevar a cabo este acceso, se suele utilizar claves en vez de contraseñas, todo ello con el objetivo de conseguir una mayor seguridad. A la hora de generar estas claves, en Linux o en Mac se suele utilizar ssh-keygen, pero en el caso de Windows lo más habitual es utilizar la herramienta gratuita PuttyGen, una aplicación gráfica que permite la generación de claves SSH de forma sencilla.
El problema que nos encontramos a la hora de generar las claves públicas con PuttyGen, es que estas no son compatibles con servidores Linux ya que esta se exportan en formato ssh2. Por suerte, es fácil genera claves públicas compatibles tal y como explicaremos a continuación.
¿Qué es PuttyGen?
PuttyGen es una herramienta que permite generar pares de claves SSH públicas y privadas. Se trata de una aplicación de código abierto, y aunque originalmente se creó para sistemas Windows, en la actualidad también está disponible para macOS y Linux. En la versión Windows, se utiliza una interfaz gráfica, mientras que para Linux es por medio de línea de comandos.
Por medio de PuttyGen, es posible crear diferentes tipos de claves públicas, entre las que se encuentran Rivest–Shamir–Adleman (RSA), Digital Signature Algorithm (DSA), Elliptic Curve Digital Signature Algorithm (ECDSA) y Edwards-curve Digital Signature Algorithm (EdDSA).
Para finalizar, decir que PuttyGen recopila claves en su formato nativo, es decir, archivos .ppk, aunque las claves se pueden convertir de forma sencilla a cualquier otro formato.
Cómo generar una clave pública en formato ssh-rsa compatible con OpenSSH Server
Veamos como generar estas claves compatibles con OpenSSH desde PuttyGen. Para ello, será necesario generar una clave RSA, siendo importante que nos aseguremos de que utilizamos 2048 bits para ello para garantizar la mejor seguridad posible.
Para generar esa clave, deberemos seleccionar el tipo en la ventana que nos aparecerá cuando arrancamos PuttyGen y pulsar sobre el botón «Generate». El software nos pedirá que movamos el ratón para su generación.
Una vez finalizado el proceso, en la ventana se mostrará la clave pública en formato ssh-rsa, un formato que sí que es compatible con OpenSSH server.
El siguiente paso será copiar la clave que aparece en el cuadro de texto y que tiene el formato correcto. Esta clave la guardaremos en un archivo de texto, que será el que tengamos que entregar al administrador de sistemas para que pueda permitir el acceso al servidor vía SSH.
Como hemos podido ver, generar la clave pública es muy sencillo con PuttyGen. En pocos pasos la podemos tener lista para ser utilizada.