openssh key格式轉換

王冰冰發表於2024-10-04

在使用Openssh > 7.8版本生成私鑰時,預設的私鑰格式是OPENSSH格式,而低版本是RSA格式,這導致部分舊版的ssh應用無法識別新的私鑰。

OPENSSH格式開頭:
-----BEGIN OPENSSH PRIVATE KEY-----
舊版的RSA格式開頭:
-----BEGIN RSA PRIVATE KEY-----

我遇到這個問題是因為,在maven中使用wagon-maven-plugin把構建好的jar檔案自動上傳到伺服器,但是報錯:invalid privatekey: [B@7f64bd7

這就是因為私鑰格式無法被java使用的ssh庫識別。可以把格式轉換為舊版格式,命令:

ssh-keygen -p -m pem -f <path>

轉換後會直接覆蓋原檔案,如果想保留原始檔,可以先備份一份。

轉換後就可以了。

參考資料:https://blog.csdn.net/zsf1600594370/article/details/139748118

相關文章