无法在Jenkins配置中添加SSH密钥

时间:2016-11-15 07:37:01

标签: jenkins ssh

我已安装'通过SSH发布' Jenkins中的插件,并希望在每次构建后将少量文件传输到SSH服务器。

我使用密码短语使用puttygen生成了私钥,并在授权密码中提供了OpenSSH公钥。在SSH服务器中。

使用生成的私钥和密码,我可以通过PuTTY登录SSH服务器。

但在詹金斯,我无法添加SSH密钥。得到以下错误。

  

jenkins.plugins.publish_over.BapPublisherException:无法添加SSH密钥。消息[密码' aes256-cbc'是必需的,但它不可用。

Jenkins Configuration

1 个答案:

答案 0 :(得分:1)

大多数工具(包括Jenkins)支持OpenSSH格式的密钥(使用ssh-keygen生成),而不是PuTTY格式(使用PuTTYgen生成)。使用ssh-keygen生成新密钥或将PPK转换为OpenSSH格式。

我在SO文档中写了以下信息。

将PPK(PuTTY键)转换为OpenSSH格式

您可能会收到PPK格式的对等私钥,这似乎在OpenSSH(命令行ssh)中不起作用。由于OpenSSH bug,客户端将要求输入密码。

$ ssh -i mykey.ppk example.com
Enter passphrase for mykey.ppk:

您需要使用PuTTYgen(命令行版本)将密钥转换为OpenSSH格式:

puttygen mykey.ppk -o mykey.key -O private-openssh

或者在GUI版本中:

  • 打开PuttyGen
  • 点击加载
  • 加载您的私钥
  • 转到转化 - > 导出OpenSSH 并导出您的私钥
  • 将您的私钥复制到~/.ssh/id_rsa

来源:SO answerUnix SE answer