将Openssh私钥转换为RSA私钥

时间:2019-03-05 02:40:53

标签: bash macos ssh rsa openssh

(我正在使用MAC)

我的id_rsa开头

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

但我希望它以

开头
-----BEGIN RSA PRIVATE KEY-----

我已将id_rsa.pub发送给服务器管理员以获取对服务器的访问权限,因此我不想生成新密钥。

  1. 有什么方法可以将我的id_rsa(这是一个openssh私钥)转移到RSA私钥? (请命令。)

  2. 如果可以转让,我还需要转让id_rsa.pub吗? (请使用命令。)似乎id_rsa.pub没有像id_rsa这样的标头,所以我不确定是否也应该传输它。

谢谢!

3 个答案:

答案 0 :(得分:2)

这是对我进行带密码的密钥就地转换的方法:

ssh-keygen -p -P "old passphrase" -N "new passphrase" -m pem -f path/to/key

答案 1 :(得分:1)

您具有OpenSSH格式密钥,并且需要PEM格式密钥。这对我来说并不直观,但是建议的转换方式是通过更改密钥的密码并同时以其他格式写入。该命令如下所示:

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

它将更改文件的位置,因此以防万一,请备份当前密钥。 -N ""会将密码短语设置为无。我还没有使用密码对此进行过测试。

公钥应该没有问题。

有关上述命令的完整说明,请参见此处的-m选项:https://man.openbsd.org/ssh-keygen#m

答案 2 :(得分:1)

如果您可以使用 Linux 系统,则可以轻松实现这一点。我正在使用 ubuntu 18.04 并执行以下操作:

  1. 更新包:sudo apt update
  2. 安装腻子:sudo apt install putty
  3. 安装 puttygen:sudo apt install putty-tools
  4. 将私钥转换为中间格式 SSHv2:puttygen yourkey -O private-sshcom -o newkey
  5. 将其转换回 RSA/PEM:ssh-keygen -i -f newkey > newkey_in_right_format

你可以走了