關於ssh-keygen 生成的key以“BEGIN OPENSSH 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 格式不對造成的

解決方法(一):

使用 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM