【问题标题】:Convert RSA to OPENSSH将 RSA 转换为 OPENSSH
【发布时间】:2021-05-19 21:26:28
【问题描述】:

我会先说我对证书/密钥非常缺乏经验,而且我使用的是 Mac。

我的问题在于 RSA 和 OPENSSH 证书/密钥。我目前有一个有效的 RSA 证书/密钥,但我需要将它们转换为 OpenSSH。据我了解,我想做与此线程相反的操作:Openssh Private Key to RSA Private Key

我有一个以:

开头的文件
-----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 标头。

  1. 这可能吗?
  2. 如果可能,我可以使用什么来执行此转换以及潜在的命令是什么?
  3. 如果我转换了密钥,是否需要做任何事情来转换证书?
  4. 如果我确实需要转换证书,执行此操作的命令是什么?
  5. 如果有任何关于从 RSA 转换为 OPENSSH 的进一步说明,我将不胜感激。

【问题讨论】:

标签: bash macos ssh rsa openssh


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 我认为这里有一些版本依赖。我必须添加 -o 参数才能让 ssh-keygen 输出 OpenSSH 格式。这似乎取决于 OpenSSH 6.5 及更高版本。
  • @hydroan 是的。我不熟悉 6.x 版本,最常使用 7.8 及更高版本:stackoverflow.com/a/53645530/6309
猜你喜欢
  • 2019-05-22
  • 2013-10-22
  • 2019-11-15
  • 2011-07-28
  • 2011-03-10
  • 2020-09-07
  • 2015-09-08
  • 2016-07-22
相关资源
最近更新 更多