将OpenSSH ED25519私钥格式转换为PEM格式



我已经使用生成了一个ED25519 SSH密钥对

ssh-keygen -t ed25519

id_ed25519文件的输出为OpenSSH格式:

-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----

我想把它转换成PEM文件格式。如果是RSA密钥对,则不需要这样做,因为RSAid_rsa密钥已经是PEM文件格式,但ED25519密钥对是OpenSSH格式。

如何将其转换为PEM文件格式?

使用

ssh-keygen -p -f path/to/your/key -m pem 

将密钥文件转换为PEM,但一定要先备份该文件。

从https://github.com/pickware/github-action-ssh-agent

我认为这会起作用:

openssl pkey -in ed25519.pem -out ed25519.pub -pubout

它对以这种方式生成的私钥有效:

openssl genpkey -algorithm ed25519 > ed25519.pem

我还没有明确测试ssh-keygen的私钥格式,但我认为它在后台使用OpenSSL。如果私钥的base64以"0"开头;MC";,那么我会说它可能是兼容的。

最新更新