我发现了很多站点,它们解释了ssh端口转发,ssh反向代理,ssh复用等,涉及sshpiper
,sslh
,运行ssh socks 服务器,仅配置本地SSH服务器等等。
所以我现在很困惑,可能会问一个非常普遍和/或简单的问题:
正如您可能已经从标题中猜到的那样,我想在Docker容器中设置一个git服务器(GitLab),以侦听端口上的SSH连接,而不必为默认的ssh操作(终端,scp等)使用其他端口。 。)在主机上(建议here)
即
ssh alice@myserver.org
git clone git@myserver.com:path/to/project
如果您喜欢图片:
+------ myserver.org --------+
| +----+ +- typical -+ |
+--------+ alice@myserver.org:22 | | | | SSH | |
| client | ----------------------> -+--+----+---->| service | |
+--------+ all names but `git` | | ? | +-----------+ |
| | | |
| | ? | +- docker --+ |
+--------+ git@myserver.org:22 | | | | with | |
| client | ----------------------> -+--+----+---->| GitLab | |
+--------+ only user `git` | | | | | |
| +----+ +-----------+ |
+----------------------------+
您能告诉我什么是推荐的/最常用的方法吗? This问题听起来很有希望,但是答案似乎可以配置客户端(我想避免)
最佳答案
首先,感谢您阅读TheDockerExperts blog,希望我们的文章对您有所帮助!让我解释一下我们在公司中如何进行SSH代理。
我们有HAproxy侦听TCP 22端口并将流量发送到GitLab服务器,在主机上我们有自定义SSH端口。不幸的是,由于我们在这种情况下使用TCP平衡,因此无法基于域名和用户创建平衡器。您可以使用小型VPS,在其上启动HAproxy并使用它来平衡GIT流量。
希望这能够帮到你!
关于docker - 根据用户名转发SSH连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50797645/