1.前情介绍
最近开始部署全新的jenkins流水线任务,在配置SCM Git的环节,选中了我创建的ssh全局凭据,但却报错:
err: Load key "/tmp/jenkins-gitclient-ssh11268717750075989265.key": invalid format
2.解决方案
分两步走,首先在网上搜索,乱七八糟,说啥的都有,主要是围绕ssh私钥的,没错,确实是ssh私钥格式问题。
2.1 生成PEM格式的私钥与公钥
如果你的私钥文件叫 id_rsa ,就这么执行。
ssh-keygen -m PEM -t rsa -f id_rsa
2.2 复制私钥必须全部字符内容
- 实际应该将ssh-keygen生成的id_rsa文件中的全部内容粘贴到Jenkins的凭据private key那里,同时要包含首行与尾行。
- 但是有人非说要把首尾两行删掉,md那样格式就错了,就会导致报错。咱也不知道那么写文档的人安的啥心……
- 最后别忘记把pub的公钥也提交到git的ssh配置中去。
3.跑通
- 当解决的那一刻,我非常的畅爽!