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

配置Eclipse EGit通过SSH推送至Windows共享仓库遇问题求助

解决方法及配置建议

一、修复git-upload-pack找不到的问题

这个错误的核心是SSH登录到Windows服务器后,系统环境变量未包含Git的执行文件路径,按以下步骤处理:

  1. 配置Windows服务器的Git环境变量

    • 登录Windows 2012R2服务器,打开「系统属性」→「高级系统设置」→「环境变量」
    • 在「系统变量」的PATH中,添加Git的bin和cmd目录(默认路径为C:\Program Files\Git\bin和C:\Program Files\Git\cmd)
    • 重启OpenSSH服务(在服务管理器中找到OpenSSH SSH Server,右键重启),确保环境变量生效
  2. 验证SSH连接下的Git可用性
    在本地终端(Git Bash或CMD)执行以下命令,测试服务器端Git命令是否可正常调用:

    ssh domain\user@server git-upload-pack --version
    

    如果返回Git版本信息,说明环境变量配置成功;如果仍报错,可在服务器的OpenSSH配置文件(C:\ProgramData\ssh\sshd_config)中添加以下内容,强制指定Git路径:

    SetEnv PATH=C:\Program Files\Git\bin;C:\Program Files\Git\cmd;%PATH%
    

    添加后重启OpenSSH服务。

二、修正远程仓库URI配置

你的URI存在路径格式问题,Windows服务器的SSH路径需要使用盘符的Unix风格写法,且域用户的URI格式需要转义反斜杠:

  • 原URI:ssh://domain\user@server:22/share/git/repositories
  • 修正后URI(假设共享目录对应服务器本地路径为C:\share\git\repositories):
    ssh://domain%5Cuser@server:22/c/share/git/repositories
    
    说明:
    • %5C是URI中反斜杠\的转义字符
    • /c/对应Windows的C盘,其他盘符以此类推
    • 必须使用服务器本地的绝对路径,而非共享目录的相对路径

三、后续SSH密钥认证配置建议

  1. 在本地终端执行ssh-keygen生成密钥对(一路回车使用默认配置即可)
  2. 将本地生成的公钥文件(默认路径C:\Users\你的用户名\.ssh\id_rsa.pub)内容复制到服务器上目标用户的C:\Users\user\.ssh\authorized_keys文件中
  3. 调整服务器上authorized_keys文件的权限:右键文件→「属性」→「安全」,删除所有继承权限,仅保留当前用户的「读取」权限
  4. 在Eclipse的EGIT远程仓库配置中,切换认证方式为「SSH密钥」,指定本地私钥文件路径即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:10:27