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

使用Git LFS的仓库执行git push时重复提示SSH密码求助

排查与解决步骤

1. 配置SSH代理自动加载密钥(解决临时生效问题)

编辑~/.ssh/config文件,添加针对GitHub的专属配置,让SSH自动将密钥加入代理并持久化到钥匙串:

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/你的密钥文件名(比如id_ed25519)
  AddKeysToAgent yes
  UseKeychain yes

保存后重启终端,后续密钥会自动加载到代理,无需手动执行ssh-add。

2. 验证Git LFS的远程配置一致性

执行git lfs env查看输出,确认git-lfs/remote.origin.url与仓库的remote.origin.url一致,均为SSH格式(git@github.com:xxx/xxx.git)。如果LFS使用了HTTPS地址,会导致额外的身份验证请求。

3. 开启SSH连接复用(解决大仓库多连接认证问题)

大仓库push时可能建立多个SSH连接,默认配置下每个连接都需要重新认证。在~/.ssh/config中添加全局连接复用配置:

Host *
  ControlMaster auto
  ControlPath ~/.ssh/sockets/%r@%h-%p
  ControlPersist 600

该配置会复用已有SSH连接,避免重复认证。

4. 确认钥匙串已保存SSH密钥密码

打开「钥匙串访问」应用,搜索你的SSH密钥文件名,检查对应的条目是否存在:

  • 右键条目选择「显示简介」
  • 勾选「允许所有应用访问此项目」
  • 确认密码已正确保存,避免每次加载密钥时都需要输入密码

5. 重置仓库的Git与LFS配置

针对问题仓库,执行以下命令重置远程配置,排除局部配置异常:

# 重置远程地址
git config --local remote.origin.url git@github.com:你的用户名/仓库名.git
# 重置LFS配置
git lfs uninstall --local
git lfs install --local

6. 查看SSH连接详细日志定位问题

执行带调试日志的push命令,观察密钥加载和代理使用情况:

GIT_SSH_COMMAND="ssh -v" git push

重点查看日志中关于agent key的输出,确认是否成功从代理获取密钥,而非每次都重新读取本地密钥文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 20:24:59