OPENSSH PRIVATE KEY转换为RSA PRIVATE KEY

使用命令 ssh-keygen -t rsa 生成ssh,默认是以新的格式生成,id_rsa的第一行变成了“BEGIN OPENSSH PRIVATE KEY” 而不再是“BEGIN RSA PRIVATE KEY”,这是一种新的密钥格式, 而且很多软件对这种格式的密钥都是不支持的。此时用来msyql、MongoDB,配置ssh登陆的话,可能会报 “Resource temporarily unavailable. Authentication by key (/Users/youname/.ssh/id_rsa) failed (Error -16). (Error #35)” 提示资源不可用,这就是id_rsa 格式不对造成的。这时候就不得不把私钥转换成RSA – PEM格式。然而ssh-keygen并不提供这种格式转换的功能。

解决方案

一、生成新的RSA-PEM格式公私密钥

使用 ssh-keygen -m PEM -t rsa -b 4096来生成

  • -m 参数指定密钥的格式,PEM(也就是RSA格式)是之前使用的旧格式

  • -b:指定密钥长度;

  • -e:读取openssh的私钥或者公钥文件;

  • -C:添加注释;

  • -f:指定用来保存密钥的文件名;

  • -i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;

  • -l:显示公钥文件的指纹数据;

  • -N:提供一个新密语;

  • -P:提供(旧)密语;

  • -q:静默模式;

  • -t:指定要创建的密钥类型

二、转换格式

Mac系统

1.安装putty

brew install putty

2.通过将密钥转换为PuTTy ppk格式然后再转换为RSA-PEM

# 生成一个密钥,命名为demo做为演示示例
# 转换为ppk格式
puttygen demo -o demo.ppk
# 转换为ras-pem格式
puttygen demo.ppk -O private-openssh -o demo.pem

image.png

Win系统

安装putty,利用puttygen转换

1.导入OPENSSH格式密钥

image.png

2.点击菜单->Conversions->Export OpenSSH key导出RSA格式密钥

image.png

作者头像
沐兮陌墨创始人

做一个积极主动热情的人,为了想要完成的事情和实现的目标,拼命投入力量。

上一篇:什么是轻量应用服务器(阿里云)
下一篇:怎么在Mac系统下安装Homebrew

发表评论

期待各位的加入,让原创发挥活力,让阅读更有价值!登录注册
登录
用户名
密码
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱