Ssh

ssh-keygen 不創建 RSA 私鑰

  • May 2, 2022

我正在嘗試創建私鑰並遇到問題。

當我使用 時ssh-keygen -t rsa -b 4096 -C "your_email@example.com",我得到一個以下格式的私鑰。

-----BEGIN OPENSSH PRIVATE KEY-----
uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END OPENSSH PRIVATE KEY-----

對於我正在嘗試使用的應用程序,這不被接受。

我期待以下 RSA 格式的密鑰。

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,25737CC2C70BFABADB1B4598BD8AB9E9

uTo43HGophPo5awKC8hoOz4KseENpgHDLxe5UX+amx8YrWvZCvsYRh4/wnwxijYx
...
-----END RSA PRIVATE KEY-----

如何創建正確的格式?這很奇怪,因為我擁有的所有其他 Mac 都創建了正確的格式,除了我遇到問題的那個。

我在全新安裝的 Mac OS Mojave 上

我最近遇到了同樣的問題(升級到 mojave 10.14.1 後),這裡有 2 個可能的解決方案。

  • 降級您的 ssh-keygen 二進製文件(您可以輕鬆地從任何 linux/docker 映像獲取舊版本)

或者

  • -m PEM在 ssh-keygen 命令中添加選項。例如,您可以執行ssh-keygen -m PEM -t rsa -b 4096 -C "your_email@example.com"以強制 ssh-keygen 導出為PEM格式。

似乎在 mojave 中的目前 ssh-keygen 版本中,預設導出格式是這裡RFC4716提到的

引用自:https://serverfault.com/questions/939909