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

Git Credential Manager每次推送/拉取仍提示密码,求正确配置方案

SSH连接自建Git仓库仍需输入密码的解决配置方案

核心原因

Git Credential Manager(GCM)仅负责HTTPS协议的凭证管理,SSH连接的身份验证依赖SSH密钥对,和GCM完全无关。你当前全局配置里的GCM设置对SSH连接没有作用,所以每次push/pull操作仍会要求输入密码。

解决步骤

1. 生成SSH密钥对(未生成过的话)

打开终端执行以下命令,一路回车使用默认配置即可:

ssh-keygen -t ed25519 -C "your_email@example.com"

生成的密钥对默认存放路径:

  • 私钥:~/.ssh/id_ed25519
  • 公钥:~/.ssh/id_ed25519.pub

2. 将公钥部署到远程Git服务器

把本地公钥文件~/.ssh/id_ed25519.pub的内容复制,粘贴到远程服务器对应用户的~/.ssh/authorized_keys文件中。完成后在远程服务器执行以下命令确保权限正确:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

3. 配置SSH代理(避免重复输入密钥密码)

如果你的SSH密钥设置了密码,每次使用仍会弹窗验证,可通过SSH代理缓存密钥:

# 启动SSH代理
eval "$(ssh-agent -s)"
# 将密钥添加到代理
ssh-add ~/.ssh/id_ed25519

若想终端启动时自动加载,可把上述命令添加到你的shell配置文件(如~/.bashrc、~/.zshrc)。

4. 验证SSH连接有效性

执行以下命令测试免密登录远程服务器:

ssh username@remoteip

若能直接登录,说明SSH配置生效,后续Git的push/pull操作将不再提示输入密码。

5. 清理无关的GCM配置(可选)

由于GCM对SSH连接无作用,可移除全局配置里的GCM设置避免混淆:

git config --global --unset credential.helper

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 21:30:55