如今使用命令 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 格式不對形成的html
解決方法(一):git
使用 ssh-keygen -m PEM -t rsa -b 4096 來生成github
-m 參數指定密鑰的格式,PEM(也就是RSA格式)是以前使用的舊格式ssh
-b:指定密鑰長度; 加密
-e:讀取openssh的私鑰或者公鑰文件; spa
-C:添加註釋; orm
-f:指定用來保存密鑰的文件名; htm
-i:讀取未加密的ssh-v2兼容的私鑰/公鑰文件,而後在標準輸出設備上顯示openssh兼容的私鑰/公鑰; blog
-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
原文出處:https://www.cnblogs.com/soner/p/10412888.html