Git LFS反复弹出SSH密钥密码输入窗口的解决求助
解决Git LFS推送时重复弹出SSH密钥密码短语弹窗的问题
问题根源
你遇到的弹窗是因为SSH密钥设置了密码短语,而Git LFS在推送大文件时会单独发起一条SSH连接——普通Git推送用一次SSH,Git LFS又用一次,两次都需要验证密钥密码,所以会弹两次窗。你之前配置的credential.helper是管HTTPS凭证的,对SSH密钥的密码验证完全没用,所以那些配置没效果。
解决方案
1. 启动并配置Windows SSH代理(核心步骤)
SSH代理可以帮你缓存密钥的密码短语,后续所有SSH连接(包括Git和Git LFS的)都不用再输密码:
- 打开管理员权限的PowerShell,执行以下命令设置代理开机自启并启动:
Get-Service ssh-agent | Set-Service -StartupType Automatic Start-Service ssh-agent - 把你的SSH密钥添加到代理(只需要执行一次):
执行时会让你输一次密钥的密码短语,之后代理会缓存这个密码,后续所有SSH连接都不会再弹窗口了。ssh-add C:\Users\你的用户名\.ssh\id_ed25519
2. 优化Git LFS的SSH连接(可选)
配置Git LFS复用SSH连接,避免重复建立连接,进一步提升效率:
在你的全局gitconfig(C:\Users\你的用户名\.gitconfig)里添加以下内容:
[lfs] ssh = ssh -oControlMaster=auto -oControlPath=C:\\Users\\你的用户名\\AppData\\Local\\Temp\\git-lfs-%r@%h:%p -oControlPersist=10m
替换你的用户名为实际Windows用户名即可。
验证
配置完成后,再执行git push,应该只会在第一次添加密钥时输一次密码,之后再也不会弹出密码窗口了。
内容的提问来源于stack exchange,提问作者Eyap
相关产品推荐
相关产品推荐

