Cómo convertir un ppk en una clave privada openSSH cifrada con una frase de contraseña

Cómo convertir un ppk en una clave privada openSSH cifrada con una frase de contraseña

Cuando exporté mi clave privada en PuttyGen, supuse que la frase de contraseña que configuré también se usaba en la versión openSSH. Descubro que la frase de contraseña que ingresé no funciona. ¿Cuál es la forma correcta de exportar mi clave privada en formato openSSH con una frase de contraseña?

Para transferir la clave ssh exportada a Linux, simplemente la pegué en nano e intenté agregarla mediante ssh. Me pide una frase de contraseña, pero no acepta la que le di. PuttyGen lo importa bien con esa frase de contraseña aunque...

Respuesta1

"Exportar clave OpenSSH" de Windows PuTTYgenhacecifre la clave con 3DES-CBC. Si la frase de contraseña no está vacía, el archivo de salida lo dice:

-----COMENZAR LA CLAVE PRIVADA RSA-----
Tipo de proceso: 4, CIFRADO
Información DEK: DES-EDE3-CBC,157A04D5AE43F45B

NiGUXnTOhATzg4dGvyXs8rzetF7KpplJJIKrZvQunXuVcZhVS+NTpnTgwJb+zOCm
...

Probé esto en varias versiones durante los últimos 4 años. Si la frase de contraseña está vacía, incluso aparece un "¿Estás seguro?" inmediato.

Linux puttygentambién siempre usa la misma frase de contraseña al realizar la conversión.


Para las claves RSA y DSA, OpenSSH utiliza el mismo formato de clave "sin formato" que OpenSSL. Entonces, si 3DES-CBC no es suficiente, puede usar elopensslherramienta de línea de comandos para volver a cifrarlos:

openssl rsa -aes-128-cbc < old.key > new.key

En Unix, por supuesto, el propio OpenSSH ssh-keygenes mejor:

ssh-keygen -p -f old.key

información relacionada