转换 OpenSSH 私钥为RSA PEM格式

使用ssh-keygen生成的秘钥发现变成了如下格式:

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

这是一种新的密钥格式, 而且很多软件对这种格式的密钥都是不支持的。比如我常用的git图形化操作软件gitkraken遇到这种密钥就会提示

Configured SSH key is an invalid format. 
Please ensure that your key is valid and is an RSA-type key 

这时候, 就不得不把我的私钥转换成RSA – PEM格式。然而, ssh-keygen并不提供这种格式转换的功能。经过多番查找, 我找到了如下行之有效的方法:
我的电脑是mac系统, 所以如下操作是基于mac系统的。

一, 下载安装putty( .tar.gz文件可以 linux和windows上使用, 源码,需要编译后使用)

putty下载地址 : https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

二, 使用puttygen软件, 先将私钥换为SSHv2格式, 作为一个中转格式

注: 执行之前, 为了以防错误操作, 先把原来的私钥备份一下
执行 : puttygen 旧的密钥地址x -O private-sshcom -o 新的密钥地址y
注意, 上面的命令中, 第一个参数是大写字母’欧’, 第二个参数是小写字母’欧’
执行完毕后, 会发现SSHv2格式的密钥是如下的样子

---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ---- 
c3Bl23423sfdfadjEAAAAABG5vbmUAAAA...  
---- END SSH2 ENCRYPTED PRIVATE KEY ----

三, 使用ssh-keygen软件, 将中转的SSHv2格式的密钥, 转换为最终的RSA – PEM格式

执行: ssh-keygen -i -f 新的密钥地址y > 最终密钥z
此时, 最终密钥z就是像如下这样, 是我们最终想要的格式了。

-----BEGIN RSA PRIVATE KEY-----
xfKaBuPRCPEQ8Uc3UdyMrIXjvKGos3g...  
-----END RSA PRIVATE KEY-----

本文内容参考了一篇英文博客, 地址如下:
How-to : Convert OpenSSH private keys to RSA PEM

希望可以帮助到你。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这种错误通常是由于你使用的私钥格式不正确导致的。确保您使用的是OpenSSH私钥格式,而不是其他格式(如PuTTY私钥格式)。如果您使用的是PuTTY私钥格式,可以使用PuTTYgen工具将其转换OpenSSH格式。 ### 回答2: "Unsupported type: OPENSSH PRIVATE KEY"错误通常在使用某些软件或工具时出现,这表明该工具无法识别或处理OpenSSH私钥文件的特定类型。 要解决这个问题,我们可以尝试以下几种方法: 1. 文件格式转换:尝试将OpenSSH私钥文件转换为其他格式,如PEM格式。可以使用工具如PuTTYgen来执行此操作。打开PuTTYgen,选择“加载”按钮并找到OpenSSH私钥文件,然后选择“导出”选项并将文件保存为PEM格式。尝试使用新转换PEM格式私钥文件。 2. 使用适当的工具:确保您使用的工具或软件支持OpenSSH私钥文件。不同的工具支持不同的私钥格式,因此,如果您的工具无法处理OpenSSH私钥文件,您可能需要寻找另一个支持此格式的工具。在使用工具之前,检查其文档或官方网站,以确保它支持OpenSSH私钥。 3. 更新软件版本:如果您正在使用的是旧版本的软件或工具,可能会出现不兼容问题。尝试更新软件或工具的最新版本,以查看是否修复了与OpenSSH私钥文件相关的错误。通常,新版本的软件会增加对新格式的支持和修复现有格式的错误。 如果尝试了上述解决方法后仍然无法解决问题,您可以搜索相关已知问题或咨询软件或工具的支持团队,以获取更多帮助和指导。 ### 回答3: 当您在使用某些工具或服务时,遇到“Unsupported type: OPENSSH PRIVATE KEY”错误时,这意味着您正在尝试使用一个不被支持的私钥类型。 在一些情况下,您可能尝试使用 OpenSSH私钥格式,而该工具或服务仅支持其他私钥格式(如RSA或DSA)。为了解决此问题,您可以尝试使用支持的私钥格式进行操作。 首先,您可以尝试将您的私钥转换为其他格式。使用OpenSSH命令将私钥转换为其他格式的命令如下: ``` ssh-keygen -p -m PEM -f private_key ``` 其中,"private_key"应替换为您的私钥文件名。此命令将私钥转换PEM格式,这是一种常见的私钥格式。 如果转换私钥格式后仍然遇到问题,则可能是由于特定工具或服务本身不支持该类型的私钥。在这种情况下,您可以尝试使用其他工具或服务来操作您的私钥。 在某些情况下,您可能需要生成一个全新的私钥,以确保与特定工具或服务的兼容性。您可以使用该工具或服务支持的私钥类型生成新的私钥,并确保将生成的私钥妥善保存。 总之,要解决“Unsupported type: OPENSSH PRIVATE KEY”错误,您可以尝试将私钥转换为支持的格式,或者使用其他工具或服务进行操作。在某些情况下,您可能需要生成一个全新的私钥以确保兼容性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__万波__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值