我的公司有一个自托管的 git 服务器,它只接受来自公司网络内部的连接。在我的本地机器上,当连接到公司的 VPN 时,我可以这样访问我的 git 远程服务器:
ssh://[email protected]:8022/path/to/repo.git
我希望能够从远程计算机连接到此 git 服务器,我可以通过 SSH 连接到该远程计算机,但该计算机不在公司网络内,因此无法直接访问 git 服务器。因此,当我的本地计算机在公司网络内时,我将通过 SSH 连接到远程服务器,远程服务器将通过隧道连接我的本地计算机连接到 git 服务器。
这可能吗?我该如何配置 SSH 来实现这一点?
我进行了一些搜索,发现了许多解决反向问题的方法,或者如何在本地访问只能由远程访问的资源,例如这(在私有网络上透明访问远程资源),但我还没有找到任何针对我的用例的解决方案。
答案1
如果您可以在内部服务器上安装任何应用程序,则可以部署 SSH 服务器,通过该服务器您可以将其用作网络的入口点。
您将需要调整防火墙上的某些流程,甚至为此类访问部署特定的服务器(强烈推荐)。
一旦服务器启动并运行,并且 SSH 可访问,您必须通过以下方式保护它:
- 防火墙
- SSH 密钥
- 使用 SSH 密钥和密码的 SSH 授权用户
- 或许是 2FA
- 限制登录尝试次数以克服暴力破解
这只是我脑海中想到的。