【问题标题】:Jenkins Publish over ssh authentification failed with private keyJenkins Publish over ssh 身份验证失败,使用私钥
【发布时间】:2014-04-16 05:32:51
【问题描述】:

我可以使用我的private key 和密码在服务器上通过putty 成功进行身份验证。但是,当我尝试使用 jenkins publish over SSH 插件(使用测试进行配置)时,我收到以下错误消息:

jenkins.plugins.publish_over.BapPublisherException: Failed to connect session for config myconfig. Message [Auth fail]

我输入了和putty一样的信息:

主机名:我的主机名
用户名:我的用户名
远程目录

使用密码身份验证,或使用不同的密钥 Passphrase / Password 密钥路径:选中
密钥路径:mypath
密码:mypasssword
密钥端口:22
超时(毫秒):300000

如果你有任何想法... 感谢您的帮助。

【问题讨论】:

  • Jenkins 插件指南指出,检查选项“使用密码身份验证,或使用不同的密钥密码短语/密钥的密码路径”使另外三个字段能够为“密钥路径”提供详细信息, “key”和“Passphrase”……我在上面的信息中没有看到密码,你在那个框中也提供了密码吗?
  • 在下面的答案中添加了更多详细信息
  • 对不起,我也输入了密码,但我在我的问题中忘记了它。事实上,我输入的信息与 putty 中的信息完全相同。我真的不明白这个问题!
  • 我遇到了同样的问题...
  • 我还没有找到分辨率:-(

标签: jenkins jenkins-plugins ssh-keys


【解决方案1】:

看起来您正在使用密钥文件身份验证,因此如果您没有在 .ssh 文件夹和/或 ~/.ssh/authorized_keys 文件上正确设置权限,您将从 Jenkins 收到此错误。

  • .ssh 文件夹应具有drwx------ 权限(仅限读/写/执行所有者)
  • authorized_keys 文件应具有-rw------- 权限(仅限读/写所有者)

修复它:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

【讨论】:

  • 我遇到了这个错误jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to connect session for config [deploy-server]. Message [Auth fail]] 还有什么我需要注意的吗?我在部署服务器中有 jenkins 用户,我可以通过 putty ssh 使用它。
  • 在我的系统中,权限是正确的,但问题仍然存在。我使用私钥进行身份验证,这解决了它:cat id_rsa.pub >> authorized_keys
【解决方案2】:

我今天遇到了同样的问题,结果发现我不小心提供了公钥而不是私钥的路径。

所以“钥匙的路径”应该是这样的

.ssh/id_rsa

而不是

.ssh/id_rsa.pub

【讨论】:

  • 啊啊啊,同样的错误。谢谢!
  • @Rinda 你在哪里提供这个,这个答案今天仍然有效吗?
  • 如果我使用的是 jenkins docker 镜像,我如何知道私钥的路径?
【解决方案3】:

因为你的linux登录需要密码,所以答案是:

 1. Passphrase: your passphrase
 2. path to key: your private key path
 3. key : blank
 4. Disable exec : un-check

SSH 服务器

1. Name: remote_user@remotehost.com
 2. hostname: remotehost.com
 3. Username: remote_user
 4. Remote Directory: empty

高级 --

5. check the box "use passsword authentication, or use a different key"
    `important`

 6. Passphrase / Password: your linux login password`important`

 7. path to key: blank

 8. key:blank

 9. port: 22

 10. Timeout(ms): 300000

'测试配置' 成功

【讨论】:

  • 非常感谢。这对我帮助很大。
【解决方案4】:

检查公钥是否在目标服务器上的.ssh/authorized_keys文件中,即使目标服务器与jenkins服务器相同。我可能遇到了同样的问题,结果证明我需要这个,即使 ssh localhost 工作正常。

(附录:还要检查 jenkins 服务器的 .ssh/known_hosts 文件中是否有目标服务器,因为这也会影响这一点。)

【讨论】:

  • .ssh/known_hosts 在我的情况下创建了问题。从known_host 中删除指纹解决了这个问题
【解决方案5】:

我认为这是一个身份验证问题:

使用密码验证,或使用不同的密钥 选择此选项将生成另外 3 个配置框,这些配置框反映了 Jenkins SSH 密钥可用的选项。

密码/密码 如果配置了密钥路径或密钥,则这是与加密密钥一起使用的密码。 如果没有配置密钥,那么这就是将用于密码验证的密码。

键的路径 见上面的描述。

见上面的描述。

禁用执行 此选项将删除使用此配置执行命令的能力。

LINK HERE

【讨论】:

  • 感谢您的回答,但我确实提供了与 putty 完全相同的信息,但它在 jenkins 中不起作用
【解决方案6】:

我面临同样的问题,以下步骤对我有用:-(我使用的是 jenkins 1.57)

  1. 转到 http:///jenkins/manage
    1. 配置系统
    2. 浏览到通过 SSH 发布部分
      • 密码:空白
      • 密钥路径:空白
      • 键:空白
      • 禁用 exec:取消选中
      • SSH 服务器 -- 名称:remote_user@remotehost.com -- 主机名:remotehost.com -- 用户名:remote_user -- 远程目录:空 - 先进的 -- 勾选“使用密码验证,或使用不同的密钥” -- 端口:22 -- 超时(毫秒):300000 -- '测试配置'

成功

【讨论】:

    【解决方案7】:

    尝试重启远程服务器的ssh

            /etc/init.d/sshd restart
    

    【讨论】:

      【解决方案8】:

      不要做任何 ssh-keygen。只需在关键字段下输入 pem 密钥详细信息, 添加 SSH 服务器详细信息:名称、主机名和用户名作为 ec2-user。 点击测试连接即可。

      【讨论】:

        【解决方案9】:

        如果目标服务器没有足够的磁盘空间来执行 PUT 操作,有时 SSH 连接会失败

        {ERROR: Exception when publishing, exception message [Failure]}
        

        确保验证目标服务器有足够的磁盘空间。

        如果是 Linux,您可以使用 'df -kh /directoryname' 检查磁盘空间

        【讨论】:

          【解决方案10】:

          只需将 jenkins-user 的 id_rsa.pub 复制到远程主机上 ~/.ssh/authorized_keys 的末尾即可。

          【讨论】:

            【解决方案11】:

            我今天遇到了同样的问题,我想我会分享对我有用的方法

            通常当我通过 SSH 连接到我的 ec2 实例时,AWS 喜欢的用户名是

            ubuntu@[ip address/url]

            Jenkins 喜欢它只是用户名,所以删除其余的

            ubuntu

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2019-07-18
              • 1970-01-01
              • 2018-08-02
              • 1970-01-01
              • 2014-10-13
              • 2015-01-16
              • 2015-10-20
              相关资源
              最近更新 更多