根据用户名转发SSH连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据用户名转发SSH连接相关的知识,希望对你有一定的参考价值。

我找到了许多网站解释ssh端口转发,ssh反向代理,ssh多路复用等涉及sshpipersslh,运行ssh socks服务器,只是配置本地SSH服务器等等所以我现在很困惑并且可能会问一个非常常见和/或简单的问题:

正如您可能从标题中猜到的那样,我想在docker容器中设置一个git服务器(GitLab),在端口22上侦听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流量。希望对你有帮助!

以上是关于根据用户名转发SSH连接的主要内容,如果未能解决你的问题,请参考以下文章

SSH三种端口转发技术

利用ssh转发功能做端口映射,实现内网穿透

os x 终端、ssh 和太多打开的文件

ssh本地端口转发

如何使用xshell登录虚拟机liunx

SSH高级功能 - 远程端口转发