我的本地实例上有一个 git repo。我想从我的家庭网络外部访问它。我应该为此在本地实例上创建一个 git 服务器和 ssh 服务器吗?另外我应该使用 ngrok 隧道的端口是什么。
非常感谢任何输入。
如issue 193或issue 145以及ngrok 用法所示,您可以直接公开您的 ssh 端口 (22),使用身份验证 ( authtoken
)。
首先,您需要注册一个 ngrok 帐户,进入仪表板将获得一个令牌,然后在您的 linux 服务器中执行这样的命令
./ngrok -authtoken as80YQhzsxIIMkMFF8gI -proto=tcp 22
在这种情况下,不需要 git 服务器,您可以使用以下命令直接克隆您的存储库:
git clone ssh://user@ip.of.local.host:/path/to/repo.git
(' repo.git
' 因为你应该使用一个裸仓库来推回)
git 附带的唯一 git“服务器”是git 守护进程(与 ssh 无关)
只有在你的 Git 前面有一个 http 服务器时,你才会使用 ngrok 重定向 http,使用智能 http 协议。
在这种情况下,您可以将 Apache 配置为调用git-http-backend
.