如何將 ppk 轉換為使用密碼加密的 openSSH 私鑰

如何將 ppk 轉換為使用密碼加密的 openSSH 私鑰

當我在 PuttyGen 中匯出私鑰時,我假設我設定的密碼也用於 openSSH 版本。我發現我輸入的密碼不起作用。使用密碼以 openSSH 格式匯出私鑰的正確方法是什麼?

為了將匯出的 ssh 金鑰傳輸到 Linux,我只是將其貼到 nano 中,並嘗試 ssh 新增它。它提示我輸入密碼,但不接受我提供的密碼。 PuttyGen 使用該密碼可以很好地導入它。

答案1

Windows PuTTYgen 的“導出 OpenSSH 金鑰”使用 3DES-CBC 加密金鑰。如果密碼非空,則輸出檔案如下所示:

-----開始 RSA 私鑰-----
過程類型:4,加密
DEK-資訊:DES-EDE3-CBC,157A04D5AE43F45B

NiGUXnTOhATzg4dGvyXs8rzetF7KpplJJIKrZvQunXuVcZhVS+NTpnTgwJb+zOCm

在過去的 4 年裡,我已經在各種版本上對此進行了測試。如果密碼為空,我甚至會收到“你確定嗎?”迅速的。

Linuxputtygen在轉換時也總是使用相同的密碼。


對於 RSA 和 DSA 金鑰,OpenSSH 使用與 OpenSSL 相同的「原始」金鑰格式。因此,如果 3DES-CBC 不夠,您可以使用openssl命令列工具重新加密它們:

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

在 Unix 當然 OpenSSH 自己的ssh-keygen更好:

ssh-keygen -p -f old.key

相關內容