执行git pull等Git命令触发OpenSSH弹窗,如何切换至HTTPS解决?
我来帮你搞定这个烦人的OpenSSH弹窗问题,切换到HTTPS其实很简单,咱们一步步来:
第一步:把仓库的远程地址从SSH改成HTTPS
首先得确认你当前的仓库用的是SSH地址,然后把它换成HTTPS:
命令行方式(最快捷):
- 先查看当前远程地址:
git remote -v,你会看到类似origin git@xxx.com:your-repo/name.git (fetch)的SSH地址 - 执行修改命令:
git remote set-url origin https://xxx.com/your-repo/name.git(把这里的HTTPS地址换成你仓库实际的HTTPS链接) - 再用
git remote -v验证一下,确认输出的地址已经变成HTTPS开头的了
- 先查看当前远程地址:
手动修改配置文件:
找到你的Git仓库根目录下的.git文件夹(默认隐藏,要先显示隐藏文件),打开里面的config文件,找到[remote "origin"]段落,把url那一行改成HTTPS地址,比如:[remote "origin"] url = https://xxx.com/your-repo/name.git fetch = +refs/heads/*:refs/remotes/origin/*保存文件即可。
第二步:确认Windows凭据管理器的AD密码正确
虽然你说已经更新过,但再检查一遍确保万无一失:
- 打开「控制面板」→「用户账户」→「凭据管理器」→「Windows凭据」
- 找到对应Git仓库的凭据条目(一般是以仓库的HTTPS地址开头,比如
https://xxx.com) - 如果条目存在,点击「编辑」确认密码是你当前有效的AD密码;如果没有,点击「添加Windows凭据」手动输入地址、AD用户名和密码保存
第三步:彻底清理可能残留的SSH相关配置
有时候全局Git配置里的SSH设置会导致弹窗,咱们检查一下:
- 打开命令行,输入
git config --global --list,看看有没有core.sshCommand这类和SSH相关的配置项 - 如果有,执行
git config --global --unset core.sshCommand删掉它 - 另外,如果你之前生成过SSH密钥,可以暂时把用户目录下的
.ssh文件夹重命名(比如改成.ssh-backup),测试是不是密钥触发了弹窗
额外:如果还是弹出OpenSSH对话框?
试试禁用Windows的OpenSSH服务:
- 按下Win+R,输入
services.msc回车打开服务管理器 - 找到「OpenSSH Authentication Agent」服务,右键点击「停止」
- 双击该服务,把「启动类型」改成「手动」或者「禁用」,点击确定
做完这些步骤后,再执行git pull,应该就会调用Windows凭据管理器里的AD密码,不会再弹出OpenSSH的提示框了。
内容的提问来源于stack exchange,提问作者Bob Horn
相关产品推荐
相关产品推荐

