将 RSA 转换为 OPENSSH

Convert RSA to OPENSSH

我先声明一下,我对 certs/keys 极度缺乏经验,我使用的是 Mac。

我的问题是 RSA 和 OPENSSH certs/keys。我目前有一个有效的 RSA cert/key,但我需要将它们转换为 OpenSSH。据我了解,我想做与此线程相反的事情:

我有一个以以下开头的文件:

-----BEGIN RSA PRIVATE KEY-----

但我需要将其转换为:

-----BEGIN OPENSSH PRIVATE KEY-----

我已经尝试了 ssh-keygen -p -N "" -m pem -f /path/to/keyssh-keygen -f /path/to/key -m pem 但它没有按照我预期的 OPENSSH header 输出。

  1. 这可能吗?
  2. 如果可能的话,我可以使用什么来执行此转换以及可能的命令是什么?
  3. 如果我转换了密钥,我还需要做些什么来转换证书吗?
  4. 如果我确实需要转换证书,该命令是什么?
  5. 如果对从 RSA 到 OPENSSH 的转换有任何进一步的解释,我将不胜感激。

只要您在命令中使用 -m PEM,结果就不会是 OPENSSH 格式。

这会将 RSA/PEM 私钥转换为 OPENSSH 私钥:

ssh-keygen -p -N "" -f /path/to/key

然后您可以提取它的 public 密钥并确认它与您之前拥有的密钥相同:

ssh-keygen -y -f /path/to/key