So konvertieren Sie einen PPK in einen mit einer Passphrase verschlüsselten privaten OpenSSH-Schlüssel

So konvertieren Sie einen PPK in einen mit einer Passphrase verschlüsselten privaten OpenSSH-Schlüssel

Als ich meinen privaten Schlüssel in PuttyGen exportierte, ging ich davon aus, dass die von mir festgelegte Passphrase auch in der OpenSSH-Version verwendet wurde. Ich stelle fest, dass die von mir eingegebene Passphrase nicht funktioniert. Wie exportiere ich meinen privaten Schlüssel richtig im OpenSSH-Format mit einer Passphrase?

Um den exportierten SSH-Schlüssel auf Linux zu übertragen, habe ich ihn einfach in Nano eingefügt und versucht, ihn per SSH hinzuzufügen. Ich werde zur Eingabe einer Passphrase aufgefordert, aber die von mir eingegebene wird nicht akzeptiert. PuttyGen importiert ihn jedoch problemlos mit dieser Passphrase.

Antwort1

Der „OpenSSH-Schlüssel exportieren“ von Windows PuTTYgentutverschlüsseln Sie den Schlüssel mit 3DES-CBC. Wenn die Passphrase nicht leer ist, lautet die Ausgabedatei:

-----BEGINNEN SIE MIT DEM PRIVATEN RSA-SCHLÜSSEL-----
Proc-Typ: 4, VERSCHLÜSSELT
DEK-Info: DES-EDE3-CBC,157A04D5AE43F45B

NiGUXnTOhATzg4dGvyXs8rzetF7KpplJJIKrZvQunXuVcZhVS+NTpnTgwJb+zOCm
...

Ich habe dies in den letzten 4 Jahren mit verschiedenen Versionen getestet. Wenn die Passphrase leer ist, erhalte ich sogar die Eingabeaufforderung „Sind Sie sicher?“.

Auch Linux puttygenverwendet bei der Konvertierung immer die gleiche Passphrase.


Für RSA- und DSA-Schlüssel verwendet OpenSSH dasselbe „rohe“ Schlüsselformat wie OpenSSL. Wenn 3DES-CBC also nicht ausreicht, können Sie dasopensslBefehlszeilentool, um sie erneut zu verschlüsseln:

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

Unter Unix ist natürlich OpenSSH selbst ssh-keygenbesser:

ssh-keygen -p -f old.key

verwandte Informationen