有没有办法强制OpenSSH(或创build某种types的代理)转发一个用户到一台机器和另一个用户到另一台机器只是由他(她)提供的用户名?
我遇到了以下问题:我要在Docker容器中运行GitLab,同时在主机上运行SSH服务器。 GitLab侦听SSH连接,但是它只对使用SSH密钥的“git”用户识别客户端感兴趣。 所以我想创build的设置是以下任一个:
只是要清楚:Docker容器运行一个网桥,它可以从主机通过与主机IP不同的唯一IP地址访问。
在StackOverflow上有一个类似的问题( https://stackoverflow.com/questions/8505445/setup-ssh-server-to-forward-connections ),但没有解决这个问题的答案 – 最有帮助的是那个build议自定义shell,但我没有办法创build类似的东西。
SSH TCP端口隧道由ssh客户端configuration。 在服务器上,只能在authorized_keys中使用permitopen=host:port来限制隧道configuration。
另一种redirectstream量的方法是使用Netfilter / iptables和-m owner --uid-owner $UID和DNAT目标。