Windows端Jenkins集成远程Git仓库时SSH连接失败求助
Jenkins关联SSH协议Git仓库报错的解决步骤
报错中提示Could not resolve hostname server_ip的核心触发原因,是Jenkins配置的仓库地址残留未替换的占位符,叠加网络连通性、SSH权限配置不匹配导致连接失败,可按以下顺序排查解决:
- 修正仓库URL配置
逐字检查Jenkins全局Git设置、具体任务配置中的仓库地址输入框,不要直接套用带占位符的示例格式:将地址中的username替换为实际可SSH登录CentOS服务器的账号,将server_ip替换为服务器真实的可访问IP或正式域名,修正后的有效地址格式参考:ssh://gituser@10.0.0.5:/srv/repo.git,不要保留未替换占位符的原始示例地址。 - 验证基础网络连通性
在Jenkins所在的Windows 10机器上,手动打开终端执行和Jenkins完全一致的拉取命令:git ls-remote -h -- 上述修正后的真实仓库地址 HEAD,确认手动执行时能正常返回仓库的分支信息。如果手动执行仍报主机解析失败,需要检查Windows本地DNS配置、hosts映射记录,确认本机能正常连通目标服务器的SSH 22端口,不存在防火墙拦截、跨网段不通的问题。 - 校验SSH认证权限
手动在当前登录的Windows账号下可以正常克隆仓库,不代表Jenkins服务运行的系统账号有对应的访问权限:- 将服务器对应的SSH私钥配置到Jenkins凭据管理模块中,不要依赖当前登录用户目录下的本地密钥文件,避免因Jenkins服务账号无权限读取当前用户的
.ssh目录导致认证失败 - 检查CentOS服务器上
/srv/repo.git目录的读写权限,给SSH登录账号开放对应仓库的读取权限,避免出现地址、网络、密钥全部正确,但因目录权限不足无法拉取仓库的问题
- 将服务器对应的SSH私钥配置到Jenkins凭据管理模块中,不要依赖当前登录用户目录下的本地密钥文件,避免因Jenkins服务账号无权限读取当前用户的
内容的提问来源于stack exchange,提问作者Dinesh Chandra
相关产品推荐
相关产品推荐

