Git over ngrok 隧道转发

Posted

技术标签:

【中文标题】Git over ngrok 隧道转发【英文标题】:Git over ngrok tunnel forwarding 【发布时间】:2015-03-11 19:56:42 【问题描述】:

我的本​​地实例上有一个 git 存储库。我想从我的家庭网络外部访问它。我应该为此在本地实例上创建一个 git 服务器和 ssh 服务器吗?另外我应该使用 ngrok 隧道的端口是什么。

非常感谢任何输入。

【问题讨论】:

【参考方案1】:

如issue 193 或issue 145 和ngrok usage 所示,您可以通过身份验证(authtoken)直接公开您的 ssh 端口(22)。

首先,你需要注册一个 ngrok 账户,到仪表板会得到一个令牌,然后在你的 linux 服务器中执行这样的命令

./ngrok -authtoken as80YQhzsxIIMkMFF8gI -proto=tcp 22

在这种情况下,不需要 git 服务器,你可以直接克隆你的 repo:

git clone ssh://user@ip.of.local.host:/path/to/repo.git

('repo.git' 因为you should use a bare repo to push back to)

git 自带的唯一 git "server" 是 git daemon(与 ssh 无关)

只有在你的 Git 前面有一个 http 服务器时,你才会使用 ngrok 重定向 http,使用 smart http protocol。 在这种情况下,您可以configure Apache to call git-http-backend

【讨论】:

谢谢 VonC 我今晚去看看。 在this talk欧洲的 git-merge 会议上发现了它。

以上是关于Git over ngrok 隧道转发的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ngrok 隧道将流量转发到本地托管的 VM 机器的端口?

免费内网映射外网绑定,tcp端口转发(windows)

隧道--------ngrok.io 未找到[关闭]

ngrok 从 Windows 7 命令行杀死隧道

SSH 内网端口转发实战

带有隧道工具的 IISExpress:请求主机名无效