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

Jenkins Freestyle项目SSH连接GitHub仓库报错求助

解决Jenkins通过SSH连接GitHub时的ED25519主机密钥验证失败问题

核心原因

Jenkins服务默认以jenkins系统用户运行,你之前执行的SSH密钥配置、主机密钥移除操作可能是在个人用户或root用户下完成的,并未同步到jenkins用户的SSH环境中,导致严格主机密钥检查时无法找到GitHub的ED25519主机密钥。

解决方案步骤

1. 切换到jenkins用户

所有操作需要在Jenkins运行的用户环境下执行:

sudo su - jenkins

2. 手动信任GitHub的ED25519主机密钥

执行以下命令触发主机密钥验证流程,按提示输入yes确认信任:

ssh git@github.com

成功后会看到类似提示:Hi Ihtisham-Khattak! You've successfully authenticated, but GitHub does not provide shell access.,此时输入exit退出即可。

3. (可选)非交互式添加主机密钥

如果不想手动交互,可直接将GitHub的ED25519主机密钥写入jenkins用户的known_hosts文件:

mkdir -p ~/.ssh && chmod 700 ~/.ssh
ssh-keyscan -t ed25519 github.com >> ~/.ssh/known_hosts

4. 修复SSH文件权限

确保SSH相关文件权限符合安全要求(否则SSH会拒绝使用):

chmod 700 ~/.ssh
chmod 600 ~/.ssh/known_hosts
chmod 600 ~/.ssh/id_ed25519  # 替换为你的私钥文件名,比如id_rsa

5. 验证连接

执行Jenkins报错中的命令测试连接是否正常:

/usr/bin/git ls-remote -h -- git@github.com:Ihtisham-Khattak/online-resume-builder.git HEAD

如果返回仓库的提交哈希值,说明连接成功,此时回到Jenkins项目配置中重新测试仓库连接即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 06:13:33