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

SSH可连接但Git无法找到内网Windows服务器上的仓库

排查Git SSH访问Windows内网服务器仓库失败的方案

1. 确认服务器端裸仓库的路径与权限

  • 在服务器上用命令生成标准裸仓库,避免手动建目录出错:打开Git Bash执行 git init --bare C:\gitTest.git(C盘根目录示例)或 git init --bare C:\Users\Admin\gitTest.git(Admin用户目录示例)
  • 检查仓库文件夹权限:右键文件夹→属性→安全选项卡,确保SSH登录用的Admin用户拥有读/写/修改权限,避免Git操作因权限被拒
  • 在服务器Git Bash里执行 ls -la /c/gitTest.git,确认能看到HEAD、objects、refs等裸仓库必备文件

2. 修正Git远程URL的路径格式

Windows路径在SSH URL里需要转义为正斜杠,且盘符要小写或大写加正斜杠,正确格式示例:

  • C盘根目录仓库:ssh://admin@ipaddress/C/gitTest.git 或 ssh://admin@ipaddress/c/gitTest.git
  • Admin用户目录仓库:ssh://admin@ipaddress/C/Users/Admin/gitTest.git
  • 可先SSH登录服务器,用 pwd 查看裸仓库的绝对路径(Git Bash输出为/c/gitTest.git这类格式),直接复用这个路径到URL中

3. 验证服务器SSH会话的Git环境

  • 在客户端执行 ssh admin@ipaddress "git --version",确认服务器已安装Git且在SSH会话的PATH环境变量中。若提示git: command not found,需将Git的bin目录(如C:\Program Files\Git\bin)添加到Windows系统PATH,然后重启SSH服务:net stop sshd && net start sshd
  • 执行 ssh admin@ipaddress "ls -la /c/gitTest.git",若能列出仓库文件,说明路径与权限无问题;若提示文件不存在,需检查URL中的路径是否与服务器实际路径一致

4. 开启SSH调试定位具体错误

在客户端Git Bash中执行调试命令,查看详细交互日志:

GIT_SSH_COMMAND="ssh -v" git clone ssh://admin@ipaddress/C/gitTest.git

从输出中可排查路径解析、权限校验、Git命令执行等环节的具体问题


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 15:03:12