Publicado el 2 comentarios

Conectar a servidor ssh desde cliente ssh de Ubuntu con archivo ppk de putty.

Recién cambié de Windows 7 a Ubuntú debido a que mi máquina de Windows sufrió un desperfecto, y mientras me la reparaban le di formato a otra máquina genérica que tenía y le instalá la última versión de Ubuntu.
En Windows usaba el putty para conectarme a mi servidor y quise usar el comando ssh en ubuntu. Sólo contaba con mi archivo ppk que usaba en putty bajo windows, asi que busque una versión de putty sobre ubuntu y lo encontré: PuTTY SSH Client.
Configuré la conexión y pude conectarme utilizando el archivo ppk que tenía, todo bien hasta que quise hacer un copy – paste, la versión del putty sobre ubuntu ¡no me permitió hacerlo!
Se que todo linux trae su propio cliente ssh así que me dediqué a investigar como conectarme desde el comando ssh con la llave privada ppk que tenía, ya que no contaba con las llaves publica y privada originales  y ¡encontré la solución! Enseguida dejo la traducción del artículo en inglés que encontré aquí.

Primero hay que convertir el archivo ppk to formato ssh:
1. Instala el paquete putty-tool, mi ubuntu ya lo traía por default instalado.
2. Extrae la llave pública ssh del archivo ppk ejecutando el siguiente comando en una terminal:
puttygen archivo.ppk -o id_rsa.pub -O public-openssh
3. Extrae la llave privada ssh del mismo archivo:
puttygen archivo.ppk -o id_rsa -O private-openssh

De esta forma ya tenemos nuestras llaves originales. Ahora copiamos las llaves creadas a nuestro directorio .ssh que se encuentra en nuestro directorio home:
  cp rsa* .ssh

Si el directorio .ssh no existe dentro de nuestro directorio home, ejecutamos los comandos siguientes para crearlo:

mkdir ~/.ssh
chmod 700 ~/.ssh

Pensé que con eso era suficiente e intenté conectarme:
ssh miusuario@miservidor
Ubuntu me arrojó la siguiente respuesta:
Agent admitted failure to sign using the key.
Permission denied (publickey,gssapi-with-mic).

Volví a hacer una búsqueda del motivo de ese error y me encontré este artículo.
Me faltaba solamente ejecutar el comando siguiente:
ssh-add
Se lo di, me pidió la frase de la llave privada, se la di, volví a intentar conectarme y ¡listo! ¡pude conectarme!

Espero que les sea de utilidad.