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

Windows环境下GitLab配置SSH后git pull仍要求输入密码如何解决

GitLab SSH免密拉取失败解决方案

以下是针对GitLab特有场景的排查和修复步骤,GitHub适配的配置不生效多为GitLab更严格的权限、认证规则导致:

  • 校验本地SSH密钥文件权限
    GitLab对SSH密钥的权限要求远严于GitHub,Windows Git Bash环境下需先执行以下命令修正权限:
# 调整.ssh目录权限
chmod 700 ~/.ssh
# 调整ed25519私钥权限(必须仅当前用户可读)
chmod 600 ~/.ssh/id_ed25519
# 调整公钥权限
chmod 644 ~/.ssh/id_ed25519.pub
  • 显式配置SSH对应GitLab的认证规则
    在~/.ssh/config文件中添加以下配置,避免多密钥场景下SSH尝试次数过多被GitLab拦截:
Host gitlab.com
  HostName gitlab.com
  User git
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes

配置完成后执行ssh -T git@gitlab.com测试连通性,正常会返回Welcome to GitLab, @<你的用户名>!的提示。

  • 确认GitLab端密钥配置正确

    • 确认你粘贴到GitLab个人账户SSH密钥栏的是id_ed25519.pub的完整公钥内容,不要误填私钥
    • 如果使用项目部署密钥而非个人账户密钥,需确认该部署密钥已经勾选「读取权限」选项
    • 确认你使用的账户/部署密钥对目标仓库有至少读取权限
  • cron任务适配调整
    cron运行环境无交互式SSH agent上下文,无需额外启动ssh-agent,只要完成上述SSH config配置即可直接执行git拉取命令。

内容的提问来源于stack exchange,提问作者Roko C. Buljan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:06:03