RSA 私钥的 Opensh 私钥

(我正在使用 MAC)

我的 ID _ rsa 开头是

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

但我希望这一切能从

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

我已经把身份证寄出去了。发布到服务器管理员,以获得访问服务器的权限,所以我不想生成新的密钥。

  1. 有没有什么方法可以把 id _ RSA (openssh 私钥)转换成 RSA 私钥?(请下命令)

  2. 如果可以传输,是否还需要传输 id _ rsa。酒吧?(请下命令)看起来是这样的。Pub 没有 id _ rsa 这样的头部,所以我不确定是否也应该传输这个。

134927 次浏览

您有一个 OpenSSH 格式密钥,并且需要一个 PEM 格式密钥。这对我来说并不直观,但是建议的转换方法是通过更改密钥的密码并同时以不同的格式写入密钥。

命令如下:

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

它将在适当的位置更改文件,所以为了以防万一,请备份当前的密钥。-N ""将把密码设置为 no。我还没用密码测试过。

The public key should be fine as is.

有关上述命令的完整解释,请参见这里的 -m选项: https://man.openbsd.org/ssh-keygen#m

以下是我在密钥与密码短语的就地转换中使用的方法:

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

如果您能够使用 Linux 系统,就可以很容易地实现这一点。我正在使用 ubuntu 18.04,并且做了以下工作:

  1. 更新软件包: sudo apt update
  2. 安装腻子: sudo apt install putty
  3. 安装 puttygen: sudo apt install putty-tools
  4. convert the private key to the intermediate format SSHv2: puttygen yourkey -O private-sshcom -o newkey
  5. 转换回 RSA/PEM: ssh-keygen -i -f newkey > newkey_in_right_format

你可以走了

  1. 安装并打开 puttygen
  2. 单击“加载现有私钥文件”
  3. 点击菜单项“转换”-> “导出 OpenSSH 密钥”
  4. 保存文件