You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境下Jenkins终端可SSH连接远程主机但配置后连接失败

Jenkins容器内SSH终端可连remote_host,但Jenkins UI配置SSH连接失败(Auth fail)

环境信息

  • Docker Compose部署两个容器:jenkins 和 remote_host
  • 持有密钥对:id_rsa、id_rsa3(含公钥id_rsa3.pub)
  • remote_host构建时,已将id_rsa3.pub复制到/home/a12/.ssh/authorized_keys

问题描述

  • 进入Jenkins容器终端执行 ssh -i id_rsa3 a12@remote_host,可无密码成功连接remote_host
  • 在Jenkins UI中配置相同的id_rsa3私钥进行SSH连接时,触发连接失败,日志显示Auth fail和Can't connect to server
  • 密钥生成命令:ssh-keygen -t rsa -m PEM -f id_rsa3

已尝试操作

  • 重新通过ssh-keygen -t rsa -m PEM -f id_rsa3生成密钥对
  • 重启Jenkins服务
  • 在Jenkins容器终端验证SSH连接(成功)
  • 重装Jenkins SSH组件

排查与解决方案

1. 核对Jenkins运行用户的密钥权限

Jenkins服务默认以jenkins用户运行,而终端测试可能用的是其他用户(如root),需确保密钥对属于jenkins用户且权限合规:

# 进入Jenkins容器
docker exec -it jenkins bash
# 创建Jenkins用户的.ssh目录(如果不存在)
mkdir -p /var/jenkins_home/.ssh
# 将id_rsa3复制到该目录
cp /path/to/id_rsa3 /var/jenkins_home/.ssh/
# 设置权限
chown jenkins:jenkins /var/jenkins_home/.ssh/id_rsa3
chmod 600 /var/jenkins_home/.ssh/id_rsa3
chmod 700 /var/jenkins_home/.ssh

SSH会拒绝权限过宽的密钥文件,这是常见的认证失败原因。

2. 检查Jenkins配置中的私钥格式

确保在Jenkins SSH配置(或凭证管理)中粘贴的私钥完整无缺:包含开头的-----BEGIN RSA PRIVATE KEY-----和结尾的-----END RSA PRIVATE KEY-----,无多余换行、空格或截断。

3. 验证连接目标与主机密钥检查

  • 确认Jenkins配置的SSH服务器地址为remote_host(Docker Compose服务名,容器间可直接解析),用户名是a12,端口匹配(默认22)。
  • 若开启了Strict Host Key Checking,需确保/var/jenkins_home/.ssh/known_hosts中已添加remote_host的主机密钥。可在Jenkins容器终端执行ssh-keyscan remote_host >> /var/jenkins_home/.ssh/known_hosts,并修改该文件权限为jenkins:jenkins。

4. 查看remote_host的SSH认证日志

进入remote_host容器,查看SSH日志获取更详细的失败原因:

docker exec -it remote_host bash
# Debian/Ubuntu系统
cat /var/log/auth.log
# RHEL/CentOS系统
cat /var/log/secure

日志会明确说明是密钥不匹配、用户权限不足还是连接被拒绝等问题。

5. 核对Jenkins SSH插件配置细节

  • 若使用Jenkins凭证管理存储私钥,确认凭证类型为SSH Username with private key,私钥内容正确关联id_rsa3。
  • 检查插件版本是否兼容,可尝试升级SSH插件后重新测试。

内容的提问来源于stack exchange,提问作者Codeorion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:35:31