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

Ubuntu服务器GitLab Runner认证失败排查求助

GitLab Runner 流水线认证失败排查(Ubuntu 24.04 LTS + GitLab Runner 17.0-stable)

问题描述

在Ubuntu 24.04 LTS服务器上使用GitLab Runner 17.0-stable运行私有仓库流水线时,推送代码触发流水线后出现如下认证错误:

fatal: Authentication failed for 'https://******.com'

已完成的排查动作:

  • 多次核对config.toml中的Runner注册令牌,确认无误
  • 确认Runner在线,且已在项目CI/CD设置中完成注册
  • 验证Runner关联用户具备项目仓库的访问权限

可能的原因

  • 仓库URL配置错误:config.toml中的GitLab实例URL或项目克隆路径不完整,导致Runner无法正确定位私有仓库
  • Git凭据缓存冲突:Runner主机上的Git缓存了旧的无效凭据,覆盖了Runner自动注入的CI_JOB_TOKEN
  • Runner系统用户权限不足:运行Runner的gitlab-runner用户无法读取Git配置或访问GitLab API获取临时令牌
  • SSL证书未信任:GitLab使用自签名证书时,Runner主机未将其加入信任列表,导致HTTPS请求失败,被误判为认证错误
  • CI_JOB_TOKEN权限受限:项目CI/CD设置中限制了CI_JOB_TOKEN的仓库访问权限

进一步排查步骤

  1. 校验config.toml中的URL配置
    打开/etc/gitlab-runner/config.toml,确认[[runners]]区块下的url(GitLab实例地址)和clone_url(可选)是否完整正确,私有仓库需确保路径指向具体项目。

  2. 清理Git凭据缓存
    切换到gitlab-runner用户,清除全局和本地的Git凭据配置:

    sudo su - gitlab-runner
    git config --global --unset credential.helper
    git config --local --unset credential.helper
    

    完成后重新触发流水线,观察错误是否消失。

  3. 手动测试仓库克隆
    以gitlab-runner用户身份,使用CI_JOB_TOKEN直接克隆仓库(CI_JOB_TOKEN可从流水线日志中获取,或临时生成测试令牌):

    sudo su - gitlab-runner
    git clone https://gitlab-ci-token:<你的CI_JOB_TOKEN>@<GitLab域名>/<项目路径>.git
    

    若克隆失败,根据错误信息定位问题;若成功,说明流水线配置可能存在异常。

  4. 检查gitlab-runner用户的Git配置
    查看该用户的全局Git配置,确认无错误的凭据助手或用户信息:

    sudo su - gitlab-runner
    git config --global --list
    
  5. 信任GitLab SSL证书(自签名场景)
    若GitLab使用自签名证书,将证书添加到系统信任列表:

    # 下载GitLab证书
    openssl s_client -showcerts -connect <GitLab域名>:443 </dev/null 2>/dev/null | openssl x509 -outform PEM > /usr/local/share/ca-certificates/gitlab.crt
    # 更新证书缓存
    update-ca-certificates
    

    之后重启GitLab Runner服务:

    sudo systemctl restart gitlab-runner
    
  6. 检查CI_JOB_TOKEN权限设置
    进入项目的Settings > CI/CD > Token Access,确认CI_JOB_TOKEN被允许访问当前仓库(默认开启,若被修改需重新启用)。

  7. 查看Runner详细日志
    实时查看GitLab Runner的系统日志,获取更精准的错误细节:

    sudo journalctl -u gitlab-runner -f
    

    触发流水线后,重点关注日志中关于认证、API请求的错误提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 04:40:16