现在使用命令 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 格式不对造成的

解决方法(一):

使用 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:指定要创建的密钥类型

 

解决方法(二):

将密钥转换为PuTTy ppk格式并返回来解决

tempkey的内容:

“`
—–BEGIN OPENSSH PRIVATE KEY—–
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAA…
—–END OPENSSH PRIVATE KEY—–
“`
转换为ppk格式:
`puttygen tempkey -o tempkey.ppk`

转换回openssh格式:
`puttygen tempkey.ppk -O private-openssh -o tempkey.oldformat`

tempkey.oldformat的内容:

“`
—–BEGIN RSA PRIVATE KEY—–
MIIJJwIBAAKCAgEAzmmS5aA0….
—–END RSA PRIVATE KEY—–
“`

参考地址:https://github.com/duplicati/duplicati/issues/3360

版权声明:本文为soner原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/soner/p/10412888.html