You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10环境下如何指定Git使用的SSH代理?

解决Git默认使用自带ssh-agent而不使用Windows系统OpenSSH代理的问题

我之前也碰到过一模一样的状况——密钥都加到Windows系统的OpenSSH代理里了,结果Git偏偏认准自己带的ssh-agent,导致密钥完全不生效。其实有两种靠谱的解决方法,你可以根据需求选:

方法一:直接指定Git使用Windows系统的SSH工具(推荐,精准控制)

这种方法只针对Git生效,不会影响系统其他程序的SSH调用:

  • 先检查当前Git的SSH配置,打开终端执行:
    git config --get core.sshCommand
    
    如果返回的是C:/Program Files/Git/usr/bin/ssh.exe这类Git自带路径,就说明需要修改配置。
  • 配置全局Git使用系统OpenSSH(所有仓库都生效):
    git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
    
  • 要是只想让某个特定仓库用系统SSH,先进入该仓库目录,再执行:
    git config core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
    
  • 验证配置是否成功:再次执行git config --get core.sshCommand,返回系统OpenSSH的路径就说明配置生效了。

方法二:调整系统环境变量顺序(全局生效)

如果希望整个系统优先使用Windows自带的OpenSSH(包括Git),可以修改环境变量:

  • 打开系统的「环境变量」设置,找到Path变量。
  • C:\Windows\System32\OpenSSH这条路径移到C:\Program Files\Git\usr\bin的前面。
  • 保存后重启终端,再执行where ssh-agent,就能看到系统的路径排在第一位,Git也会自动使用这个代理。

小提示

修改完成后不用重启电脑,只要在新的终端窗口操作Git,它就会自动调用Windows系统的OpenSSH代理,读取你之前用ssh-add添加的密钥了。

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

火山引擎 最新活动