简体   繁体   English

如何配置 Jenkins Publish over SSH 以使用 SSH 密钥

[英]How to configure Jenkins Publish over SSH to use SSH key

Our Jenkins instance is running on a CentOS Linux 7.3.x server.我们的 Jenkins 实例运行在 CentOS Linux 7.3.x 服务器上。 I'm trying to configure an additionnal "SSH server" in Jenkins Global settings.我正在尝试在 Jenkins 全局设置中配置一个额外的“SSH 服务器”。

Jenkins can't access my private key located at "/root/.ssh/my_private_key". Jenkins 无法访问我位于“/root/.ssh/my_private_key”的私钥。

  • Jenkins version: 2.101詹金斯版本:2.101
  • "Publish over SSH" plugin version: 1.18 “通过 SSH 发布”插件版本:1.18

Jenkins UI error : Publish over SSH > SSH Servers > SSH Server > Path to key" Jenkins UI 错误:通过 SSH 发布 > SSH 服务器 > SSH 服务器 > 密钥路径”

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

Jenkins UI error : Publish over SSH > SSH Servers > SSH Server > Test Configuration) 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]

Publish over SSH > SSH Servers > SSH Server通过 SSH 发布 > SSH 服务器 > SSH 服务器

Name mytargethost命名我的目标主机

Hostname mytargethost.tld主机名mytargethost.tld

Username remoteusername用户名remoteusername

Remote Directory /home/remoteusername远程目录/home/remoteusername

Use password authentication, or use a different key [x] (checked)使用密码验证,或使用不同的密钥[x](选中)

Passphrase / Password my_private_key_passphrase密码/密码my_private_key_passphrase

Path to key /root/.ssh/my_private_key密钥路径/root/.ssh/my_private_key

Port 22端口22

Timeout (ms) 300000超时(毫秒) 300000

Other fields Blank其他字段空白

Jenkins service being running as jenkins user, in order to configure Jenkins to connect with SSH using a private key, "Path to key" field in Jenkins global settings (Publish over SSH > SSH Servers > SSH Server) must be (relative to JENKINS_HOME): Jenkins 服务以 jenkins 用户身份运行,为了配置 Jenkins 使用私钥与 SSH 连接,Jenkins 全局设置中的“密钥路径”字段(通过 SSH 发布 > SSH 服务器 > SSH 服务器)必须是(相对于 JENKINS_HOME) :

.ssh/my_private_key

Of course, permissions on "my_private_key" must be 0600 & owner/group "jenkins:jenkins"当然,“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 

Real path for SSH key is: /var/lib/jenkins/.ssh/my_private_key if JENKINS_HOME=/var/lib/jenkins SSH 密钥的真实路径是: /var/lib/jenkins/.ssh/my_private_key 如果 JENKINS_HOME=/var/lib/jenkins

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM