我在 Jenkins 中使用通过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机器(Docker中的Debian GNU / Linux 9)上生成了另一个密钥,并将id_rsa.pub
复制到了远程机器上。该密钥不同,并且以-----BEGIN RSA PRIVATE KEY-----
开头,并且此密钥的错误是Message [Auth fail]
,因此它可以理解该密钥。
最佳答案
我刚遇到相同的问题。该插件被较新的OpenSSH格式所迷惑(我还有一个以-----BEGIN OPENSSH PRIVATE KEY-----
开头的私钥)。
我保存了密钥并将其加载到PuTTyGen中,然后转换了->导出OpenSSH密钥(请注意,我们不想使用“导出OpenSSH密钥(强制使用新文件格式)”。显然,这是在Windows上;我不是确定在其他OS上将等效什么。
我新导出的密钥以-----BEGIN RSA PRIVATE KEY-----
开头,此后插件接受了它。
关于jenkins - 通过SSH发布无效的私钥,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54466622/