我在Jenkins中使用Publish over SSH连接到远程服务器。我已经有了一个私钥(OpenSSH格式,以-----BEGIN OPENSSH PRIVATE KEY-----
开头),它在jenkins用户下的shell中可以完美地工作,但是当我从Web界面使用它时,它会抛出jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@4bba7224]
同时,我在Jenkins机器上生成了另一个密钥(Debian GNU/Linux 9 in Docker),并将id_rsa.pub
复制到远程机器上。这个密钥是不同的,以-----BEGIN RSA PRIVATE KEY-----
开头,这个密钥错误是Message [Auth fail]
,所以它理解这个密钥。
2条答案
按热度按时间vsdwdz231#
我刚刚遇到了同样的问题。插件被较新的OpenSSH格式弄糊涂了(我也有一个以
-----BEGIN OPENSSH PRIVATE KEY-----
开头的私钥)。我保存了密钥并将其加载到PuTTyGen中,然后选择Conversions-〉Export OpenSSH Key(注意这里有一个“Export OpenSSH Key(force new file format)”,这是我们不想要的,显然这是在Windows上;我不知道在其他操作系统上会有什么等价物。
我新导出的密钥以
-----BEGIN RSA PRIVATE KEY-----
开头,插件在此之后接受了它。dfuffjeb2#
使用此命令生成新的keypem
键盘从
Jenkins中的sshCommand将接受此密钥