无法将 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 应用程序服务将回收站点
无法加载文件或程序集 HRESULT:0x80131515(将控制器添加到在网络驱动器上具有程序集引用的 MVC 项目时)