我已经使用生成了一个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";,那么我会说它可能是兼容的。