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

Windows环境下基于SSH搭建Git本地服务器遇推送失败问题求助

问题解决与答疑

一、推送失败的核心修复

1. 修正远程仓库URL格式

你的远程地址存在格式错误:Windows磁盘路径通过SSH访问时,盘符后无需额外冒号。正确的URL写法为:

git remote add origin ssh://abc@abc_computer/f/code/project.git

若已添加过origin,先删除再重新添加:

git remote remove origin
git remote add origin ssh://abc@abc_computer/f/code/project.git

2. 修正GIT_SSH环境变量

你错误地将GIT_SSH指向了服务器端程序sshd.exe,但Git客户端需要调用SSH客户端程序ssh.exe。修改方式:

  • 打开系统环境变量设置,找到GIT_SSH
  • 将值改为C:\WINDOWS\System32\OpenSSH\ssh.exe
  • 重启命令行窗口让设置生效

3. 验证路径可访问性

通过SSH登录服务器后,执行ls /f/code/project.git,确认能看到config、objects等仓库核心目录,确保路径真实存在且有权限访问。

二、额外疑问解答

1. Git如何监听服务器的SSH请求?

Git本身不监听SSH请求,SSH连接由OpenSSH Server负责处理。只要服务器端OpenSSH Server服务正常运行,Git就能通过SSH协议与服务器仓库交互。你只需确保:

  • OpenSSH Server服务设为自动启动并正常运行
  • sshd_config已启用公钥认证(你已完成此配置)

2. 如何指定Git使用的SSH客户端实例?

Git客户端使用的是ssh.exe(而非服务器端的sshd.exe),有两种指定方式:

  • 环境变量法:设置GIT_SSH环境变量指向目标ssh.exe的完整路径(如上述修复步骤)
  • Git配置法:执行以下全局配置命令:
    git config --global core.sshCommand "C:/WINDOWS/System32/OpenSSH/ssh.exe"
    

若使用Git内置的OpenSSH,路径通常为C:\Program Files\Git\usr\bin\ssh.exe,可根据实际安装路径调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:22:31