Git-Bash中SSH默认读取无效共享路径问题排查求助
Git-Bash内置SSH默认路径异常问题排查求助
问题现象
- Git-Bash内置SSH无法正常工作,所有依赖SSH协议的Git命令(
git push、git ls-remote、git fetch等)执行后陷入挂起;直接执行SSH命令(如ssh -p 29418 $username@$gerrithost)也失效。 - HTTPS协议的Git仓库可正常使用,但Gerrit仅支持SSH协议。
追踪发现
通过strace追踪,发现SSH尝试读取一个无效的Samba路径下的.ssh/config:
35 742476 [main] ssh 17432 mount_info::conv_to_win32_path: src_path //172.xx.xx.xx/share/AAAA/BBBB/.ssh/config, dst \172.xx.xx.xx\share\AAAA\BBBB\.ssh\config, flags 0x6020, rc 0
注:该Samba服务器\\172.xx.xx.xx可访问,但share目录不存在。
临时解决方法
手动指定config、私钥和known_hosts路径后,SSH命令可正常运行:
ssh -o UserKnownHostsFile=~/.ssh/known_hosts -i ~/.ssh/id_rsa -F ~/.ssh/config -p 29418 $username@$gerrithost
设置GIT_SSH_COMMAND后Git命令不再挂起,但出现新问题。
当前疑问与求助
当前echo $HOME输出为/d/Users/myname,SSH默认应读取~/.ssh路径(对应$HOME/.ssh),但实际却指向了无效的Samba路径。怀疑是IT管理员做了相关配置,但暂未找到原因。
求助:除$HOME外,还有哪些优先级更高的变量或配置会影响SSH默认读取的.ssh路径?这些配置可能在哪里设置?
内容的提问来源于stack exchange,提问作者ElpieKay
相关产品推荐
相关产品推荐

