将ed25519私钥转换为RSA私钥

4

我想使用 ssh-keygen 将 ed25519 私钥转换为 rsa 私钥。

我找到了这个有用的指南,但我不知道如何指定输入格式为 ed25519,导出格式应该是 rsa。

我尝试了许多不同的方式来匹配概要和标志说明,但每次尝试时都会从 ssh-keygen 得到 "Too many arguments" 错误。

我还想找到一个命令,可以从 ed25519 私钥生成公钥以验证它是否有效。


3
ed15519和RSA不仅仅是不同的格式,它们是基本上不同类型的密钥。你不能在它们之间进行转换。 - Gordon Davisson
2个回答

7
不行,它不能被转换。RSA和EdDSA不仅仅是不同类型的密钥,它们是完全不同的加密系统。密钥生成算法和私钥只是其中的一部分。
ssh-keygen中可用的所有转换选项通常只是将一种类型的RSA密钥转换为另一种类型的RSA密钥。例如,将OPENSSH RSA密钥转换为PKCS8 RSA密钥。基本上,所谓的转换只是以不同的方式打包RSA密钥。

2
正如在“如何生成安全的SSH密钥”中提到的那样,ED25519是一种使用SHA-512(SHA-2)和Curve25519EdDSA签名方案。

EdDSA的主要问题在于它至少需要OpenSSH 6.5 (ssh -V)或GnuPG 2.1 (gpg --version),而您的操作系统可能没有那么更新,所以如果无法生成ED25519密钥,则您的选择应该是具有至少4096位的RSA密钥。

生成私钥:

ssh-keygen -t ed25519 -P "" -f myid_ed25519

通过私钥,您可以生成其公钥(与RSA无关):

ssh-keygen  -y -f myid_ed25519 > myid_ed25519.pub

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接