【问题标题】:Convert OpenSSH ED25519 Private Key Format to PEM format将 OpenSSH ED25519 私钥格式转换为 PEM 格式
【发布时间】:2020-12-04 08:06:40
【问题描述】:

我使用

生成了一个 ED25519 SSH 密钥对
ssh-keygen -t ed25519

id_ed25519 文件的输出是 OpenSSH 格式:

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

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

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

【问题讨论】:

  • 您找到解决方案了吗?
  • 很遗憾没有。

标签: private-key openssh pem ed25519


【解决方案1】:

使用

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

要将您的密钥文件转换为 PEM,但请务必先备份文件。

取自https://github.com/pickware/github-action-ssh-agent

【讨论】:

  • -m pem 选项也可用于生成带有 PEM 编码的新 SSH ed25519 密钥; ssh-keygen -a 64 -t ed25519 -m pem -f youykeyname。来自手册页:Setting a format of “PEM” when generating or updating a supported private key type will cause the key to be stored in the legacy PEM private key format.
【解决方案2】:

我认为这可行:

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

它适用于以这种方式生成的私钥:

openssl genpkey -algorithm ed25519 > ed25519.pem

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

【讨论】:

  • 这不能回答问题。 OP 似乎正在寻找一种将 ed25519 ssh 密钥转换为 pem 格式的方法。大多数 ssh 密钥默认是 PEM iirc,但不是 ed25519 ssh 密钥。
猜你喜欢
  • 1970-01-01
  • 2019-11-23
  • 1970-01-01
  • 2020-09-07
  • 2012-02-28
  • 2011-02-26
  • 2020-01-28
  • 2017-06-13
  • 2019-06-21
相关资源
最近更新 更多