无法将 Linux 机器作为 Slave 添加到在 Windows 机器上运行的 Jenkins 主机

Posted

技术标签:

【中文标题】无法将 Linux 机器作为 Slave 添加到在 Windows 机器上运行的 Jenkins 主机【英文标题】:Not able to add Linux machine as Slave to Jenkins master running on Windows machine 【发布时间】:2021-08-27 12:30:14 【问题描述】:

尝试在 Windows 主节点上创建 ssh 密钥并与 linux 从节点共享 pub 密钥。对于授权密钥,Linux 从属设备的权限为 600。将我的私钥作为 ssh 用户名和私钥添加到 jenkins 凭据中

我已将 Linux 从 Ip 和主机名添加到 Windows 机器主机文件中,反之亦然。

尝试了下拉列表中的所有选项来验证主机密钥。不走运。

大师:Windows。创建了 jenkins 本地用户和使用该用户生成的 ssh 密钥。 从站:Linux 节点。创建 jenkins 用户并将 ssh 密钥复制到 jenkins 用户。

以下是错误。

SSHLauncherhost='********', port=22, credentialsId='7-9daf-fe34097adb71', jvmOptions='', javaPath='', prefixStartSlaveCmd='', suffixStartSlaveCmd=' ', launchTimeoutSeconds=60, maxNumRetries=10, retryWaitTime=15, sshHostKeyVerificationStrategy=hudson.plugins.sshslaves.verifiers.ManuallyTrustedKeyVerificationStrategy, tcpNoDelay=true, trackCredentials=true [06/10/21 12:49:53] [SSH] 打开到 ******* 的 SSH 连接。 [06/10/21 12:49:53] [SSH] SSH 主机密钥与之前看到的此主机的密钥匹配。将允许连接。 错误:服务器拒绝了 jenkins 的 1 个私钥(credentialId:-4fc7-9daf-fe34097adb71/method:publickey) [06/10/21 12:49:53] [SSH] 身份验证失败。 身份验证失败。 [06/10/21 12:49:53] 启动失败 - 清理连接 [06/10/21 12:49:53] [SSH] 连接已关闭。

【问题讨论】:

【参考方案1】:

在 Linux 端,这里可能有一些不同的权限。您需要检查~/.ssh/authorized_keys~/.ssh 的权限,您已经完成了部分工作。此外,可能有 SELinux 标签阻止访问。请尝试以下操作:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
restorecon -Rv ~/.ssh

【讨论】:

非常感谢@Stephen badger。有效。你拯救了我的一天。 restorecon 变魔术了。

以上是关于无法将 Linux 机器作为 Slave 添加到在 Windows 机器上运行的 Jenkins 主机的主要内容,如果未能解决你的问题,请参考以下文章

正在修改或添加应用程序设置到在 linux 容器上运行的 azure 应用程序服务将回收站点

Jenkins Linux 从属语言环境

jmeter集群搭建 linux

无法加载文件或程序集 HRESULT:0x80131515(将控制器添加到在网络驱动器上具有程序集引用的 MVC 项目时)

使用Jmeter在linux环境实现分布式负载

Hadoop集群搭建(自己电脑)