我有一个安装了 Firewalld 的 CentOS 7 最小版本,它用作公司的防火墙/路由器。在网络内部,我们有一个 git 服务器,我们将其命名为:gitlab-server。我希望它可以从互联网上访问,这样我们也可以从其他地方使用我们的存储库。我们通过 SSH 克隆存储库,出于安全原因,没有其他可用的。现在的问题是:我如何才能将与 firewalld 的传入连接转发到特定的 IP 地址,但只有在 SSH 的用户被命名的情况下git
?
愚蠢的方式:我想执行git clone git@gitlab-server:myuser/myrepository.git
并能够在家中完成。我有时也必须推动,所以我也需要执行git push origin master
。
在启动 SSH 连接时,FirewallD 无法知道请求的用户 ID 是什么——它只知道有人正在启动到端口 22 的连接。
您可以通过在客户端上添加 SSH 'ProxyCommand' 来获得类似的功能,参考 https://superuser.com/questions/107679/forward-ssh-traffic-through-a-middle-machine: