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

如何在自定义GitLab Runner中传递凭据?注册遇权限错误

GitLab Runner注册时HTTP认证失败的解决方法

问题场景

使用项目级令牌注册自定义GitLab Runner时,触发如下错误:

remote: HTTP基本认证:访问被拒绝。提供的密码或令牌不正确,或您的账户已启用2FA,必须使用个人访问令牌而非密码。

以下是针对性的解决步骤:

  • 确认项目注册令牌的有效性
    登录GitLab项目后台,进入「设置 → CI/CD → 运行器」,重新复制官方提供的项目注册令牌,确保没有误抄空格、换行符或使用了错误的令牌(比如个人访问令牌PAT)。注册Runner必须用项目/组专属的注册令牌,二者不能混用。

  • 添加HTTP基本认证凭据(若实例强制验证)
    如果你的GitLab实例启用了LDAP、2FA或强制身份验证,注册命令需要额外带上GitLab账户的凭据。可以用个人访问令牌(PAT)替代密码,PAT需具备api或read_repository权限:

    .\gitlab-runner.exe register --url http://gitlab.my-company.net/ --registration-token $REGISTRATION_TOKEN --user "你的GitLab用户名" --password "你的个人访问令牌"
    
  • 修正命令格式(Windows环境)
    Windows下统一使用.gitlab-runner.exe的写法,避免混用./和.\,修正后的注册命令:

    .\gitlab-runner.exe register --url http://gitlab.my-company.net/ --registration-token $REGISTRATION_TOKEN
    

    也可以尝试交互式注册,直接执行.gitlab-runner.exe register,按照提示输入信息,减少参数格式错误。

  • 排查网络与代理问题
    确认Runner所在机器能正常访问GitLab实例地址,没有防火墙或代理拦截。如果需要通过代理访问,注册时添加代理参数:

    .\gitlab-runner.exe register --url http://gitlab.my-company.net/ --registration-token $REGISTRATION_TOKEN --http-proxy http://proxy.my-company.net:8080 --https-proxy http://proxy.my-company.net:8080
    
  • 检查Runner服务的运行账户
    默认安装的Runner使用本地系统账户,若该账户无GitLab访问权限,会导致认证失败。可以指定有权限的域账户重新安装:

    .\gitlab-runner.exe install --user "DOMAIN\Username" --password "账户密码"
    .\gitlab-runner.exe restart
    

内容的提问来源于stack exchange,提问作者Imran Qadir Baksh - Baloch

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 13:13:30