我已安装'通过SSH发布' Jenkins中的插件,并希望在每次构建后将少量文件传输到SSH服务器。
我使用密码短语使用puttygen
生成了私钥,并在授权密码中提供了OpenSSH公钥。在SSH服务器中。
使用生成的私钥和密码,我可以通过PuTTY登录SSH服务器。
但在詹金斯,我无法添加SSH密钥。得到以下错误。
jenkins.plugins.publish_over.BapPublisherException:无法添加SSH密钥。消息[密码' aes256-cbc'是必需的,但它不可用。
答案 0 :(得分:1)
大多数工具(包括Jenkins)支持OpenSSH格式的密钥(使用ssh-keygen
生成),而不是PuTTY格式(使用PuTTYgen生成)。使用ssh-keygen
生成新密钥或将PPK转换为OpenSSH格式。
我在SO文档中写了以下信息。
您可能会收到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版本中:
~/.ssh/id_rsa