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

GitLab CI通过SSH访问GitHub仓库失败,请求排查问题原因

解决GitLab CI克隆GitHub仓库时的Host key验证失败问题

出现Host key verification failed错误的核心原因是GitLab CI运行环境未预先信任GitHub的SSH主机密钥,首次连接时触发安全验证失败。需要补充以下配置:

1. 添加GitHub主机密钥到已知主机列表

在before_script中加入ssh-keyscan命令,提前获取并写入GitHub的主机密钥到known_hosts文件:

before_script:
  # 原有配置保持不变
  - mkdir -p /root/.ssh
  - chmod 700 /root/.ssh
  - touch /root/.ssh/id_ed25519
  - chmod 600 /root/.ssh/id_ed25519
  - touch /root/.ssh/id_ed25519.pub
  - chmod 644 /root/.ssh/id_ed25519.pub
  - echo -e $BOT_PRIVATE_KEY > /root/.ssh/id_ed25519
  - echo $BOT_PUBLIC_KEY > /root/.ssh/id_ed25519.pub
  # 新增:添加GitHub主机密钥到known_hosts
  - ssh-keyscan github.com >> /root/.ssh/known_hosts
  - chmod 644 /root/.ssh/known_hosts

2. 确认私钥变量格式正确

检查GitLab项目中设置的BOT_PRIVATE_KEY变量:

  • 必须包含完整的私钥内容,包括开头的-----BEGIN OPENSSH PRIVATE KEY-----和结尾的-----END OPENSSH PRIVATE KEY-----
  • 确保变量中的换行符未丢失(GitLab变量设置时,可选择“变量类型”为File,或直接在文本框中保留原始换行,避免转义)

修改完成后重新运行流水线,即可正常克隆GitHub仓库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 13:31:04