wake-up-neo.com

ssh-keygen不创建RSA私钥

我正在尝试创建私钥并遇到问题。

当我使用ssh-keygen -t rsa -b 4096 -C "[email protected]",我得到以下格式的私钥。

-----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上

91
Moon

我最近遇到了同样的问题(升级到mojave 10.14.1后),这里有2个可能的解决方案。

  • 降级ssh-keygen二进制文件(您可以轻松地从任何linux/docker映像获取旧版本)

[〜#〜]或[〜#〜]

  • 添加选项-m PEM放入您的ssh-keygen命令。例如,您可以运行ssh-keygen -m PEM -t rsa -b 4096 -C "[email protected]"强制ssh-keygen以PEM格式导出。

看起来在当前mojave的ssh-keygen版本中,默认导出格式为RFC4716如所提到 此处

91
sayboras

可以使用ssh-keygen实用程序将具有OpenSSH私钥格式的新密钥转换为旧的PEM格式。

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

不必为了达到此结果而降级到较旧的OpenSSH。

76
mydeardiary