在使用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>
转换后会直接覆盖原文件,如果想保留源文件,可以先备份一份。
转换后就可以了。
标签:私钥,openssh,RSA,-----,ssh,key,OPENSSH,格式 From: https://www.cnblogs.com/wangbingbing/p/18447454