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

如何配置支持Git LFS的Git SSH隧道?

解决Git LFS通过SSH隧道访问私有GitLab的问题

问题根源

Git LFS默认采用HTTPS协议传输大文件,你当前的SSH隧道仅转发了GitLab的SSH端口(22),没有覆盖HTTPS流量,所以普通Git操作正常,但LFS命令失效。

两种解决方案

方案一:让Git LFS复用SSH通道(推荐)

不需要额外端口转发,只需修改Git配置,强制LFS通过SSH传输:

  • 针对单个仓库生效:进入远程服务器上的目标Git仓库,执行:
    git config lfs.ssh true
    
  • 全局生效(远程服务器上所有Git仓库都用SSH走LFS):
    git config --global lfs.ssh true
    

配置完成后,LFS会和普通Git操作共用已有的22端口隧道,无需调整SSH配置。

方案二:转发GitLab的HTTPS端口(适用于必须用HTTPS的场景)

如果你的GitLab LFS强制走HTTPS,需要新增HTTPS端口的反向转发:

  1. 修改工作电脑的.ssh/config:
    Host remoteServer
      HostName remoteServer
      User username
      RemoteForward 127.0.0.1:2222 gitlabServer:22
      RemoteForward 127.0.0.1:4433 gitlabServer:443  # 新增:转发GitLab的HTTPS端口443到远程服务器的4433端口
    
  2. 更新远程服务器上的Git仓库地址:
    把仓库的HTTPS远程地址替换为本地转发的端口,比如原地址是https://gitlabServer/your/project.git,执行:
    git config remote.origin.url https://localhost:4433/your/project.git
    
  3. 处理证书问题(如果GitLab用自签名证书):
    若远程服务器无法验证GitLab的证书,可临时关闭SSL验证(不推荐生产环境):
    git config --global http.sslVerify false
    
    或者将GitLab的证书导入远程服务器的系统信任存储。

为什么之前的尝试失效?

你之前添加的额外转发可能没对应LFS的实际传输端口,或者没调整Git LFS的传输协议配置,导致流量没走隧道。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:16:05