我已经在 Jenkins 中安装了“通过 SSH 发布”插件,并且希望在每次构建后将几个文件传输到 SSH 服务器。
我已经使用puttygen密码生成了私钥,并在 SSH 服务器的“authorization_keys”中给出了 OpenSSH 公钥。
使用生成的私钥和密码,我可以通过 PuTTY 登录到 SSH 服务器。
但在 Jenkins 中,我无法添加 SSH 密钥。得到以下错误。
jenkins.plugins.publish_over.BapPublisherException:无法添加 SSH 密钥。消息 [密码'aes256-cbc' 是必需的,但它不可用。
大多数工具(包括 Jenkins)支持 OpenSSH 格式的密钥(使用 生成ssh-keygen),而不支持 PuTTY 格式的密钥(使用 PuTTYgen 生成)。使用ssh-keygenPPK生成新密钥或将 PPK 转换为 OpenSSH 格式。
我在 SO 文档中写了以下信息。
您可能会收到 PPK 格式的对等私钥,这似乎不适用于 OpenSSH(命令行ssh)。由于OpenSSH 错误,客户端将要求输入密码。
$ ssh -i mykey.ppk example.com
Enter passphrase for mykey.ppk:
Run Code Online (Sandbox Code Playgroud)
您需要使用 PuTTYgen(命令行版本)将密钥转换为 OpenSSH 格式:
puttygen mykey.ppk -o mykey.key -O private-openssh
Run Code Online (Sandbox Code Playgroud)
或者在 GUI 版本中:
~/.ssh/id_rsa来源:SO 答案,Unix SE 答案
| 归档时间: |
|
| 查看次数: |
7104 次 |
| 最近记录: |