gpt4 book ai didi

linux - 如何配置 Jenkins Publish over SSH 以使用 SSH key

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:01 28 4
gpt4 key购买 nike

我们的 Jenkins 实例在 CentOS Linux 7.3.x 服务器上运行。我正在尝试在 Jenkins 全局设置中配置额外的“SSH 服务器”。

Jenkins 无法访问我位于“/root/.ssh/my_private_key”的私钥。

  • Jenkins 版本:2.101
  • “通过 SSH 发布”插件版本:1.18

Jenkins UI 错误:通过 SSH 发布 > SSH 服务器 > SSH 服务器 > key 路径”

No file matching: '/root/.ssh/my_private_key'

Jenkins UI 错误:通过 SSH 发布 > SSH 服务器 > SSH 服务器 > 测试配置)

jenkins.plugins.publish_over.BapPublisherException: Failed to read file - filename [/root/.ssh/my_private_key] (relative to JENKINS_HOME if not absolute).
Message: [/root/.ssh/my_private_key]

通过 SSH 发布 > SSH 服务器 > SSH 服务器

姓名我的目标主机

主机名我的目标主机.tld

用户名远程用户名

远程目录/home/远程用户名

使用密码验证,或使用不同的 key [x](勾选)

密码/密码我的_private_key_passphrase

key 路径/root/.ssh/my_private_key

端口22

超时(毫秒)300000

其他领域空白

最佳答案

Jenkins 服务作为 jenkins 用户运行,为了配置 Jenkins 使用私钥连接 SSH,Jenkins 全局设置中的“Path to key”字段(通过 SSH 发布 > SSH 服务器 > SSH 服务器)必须是(相对的)到 JENKINS_HOME):

.ssh/my_private_key

当然,“my_private_key”的权限必须是 0600 & owner/group “jenkins:jenkins”

JENKINS_HOME=/var/lib/jenkins
chmod 0600 ${JENKINS_HOME}/.ssh/my_private_key
chown jenkins:jenkins ${JENKINS_HOME}/.ssh/my_private_key

SSH key 的真实路径是:/var/lib/jenkins/.ssh/my_private_key if JENKINS_HOME=/var/lib/jenkins

关于linux - 如何配置 Jenkins Publish over SSH 以使用 SSH key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48933114/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com