【问题标题】:Not able to add SSH Key in Jenkins Configuration无法在 Jenkins 配置中添加 SSH 密钥
【发布时间】:2017-03-29 00:21:59
【问题描述】:

我已经在 J​​enkins 中安装了 'Publish Over SSH' 插件,并希望在每次构建后将一些文件传输到 SSH 服务器。

我使用带有密码的puttygen 生成了私钥,并在 SSH 服务器的“authorization_keys”中提供了 OpenSSH 公钥。

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

但在 Jenkins 中,我无法添加 SSH 密钥。得到以下错误。

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

【问题讨论】:

  • 尝试使用ssh-keygen而不是puttygen生成ssh-keys

标签: jenkins ssh


【解决方案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
  • 点击加载
  • 加载您的私钥
  • 转到Conversions->导出 OpenSSH 并导出您的私钥
  • 复制你的私钥到~/.ssh/id_rsa

来源:SO answerUnix SE answer

【讨论】:

    猜你喜欢
    • 2018-12-15
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 2016-06-15
    • 2021-11-29
    • 1970-01-01
    • 2018-08-02
    • 2018-12-09
    相关资源
    最近更新 更多