linux – 使SSH服务器转发每个用户的连接

前端之家收集整理的这篇文章主要介绍了linux – 使SSH服务器转发每个用户的连接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法强制OpenSSH(或创建某种代理)将一个用户转发到一台机器而另一个用户转移到另一台机器只是通过他(或她)提供的用户名

我遇到了以下问题:我将在Docker容器中运行GitLab,同时在主机上运行SSH服务器. GitLab监听SSH连接,但它只对“git”用户通过SSH密钥区分客户端感兴趣.
所以我想要创建的设置是以下之一:

>主机端口22上的代理,当用户是“git”或主机SSH(可能会侦听另一个端口,重要的是客户端不知道这个)时,将整个会话转发到Docker Gitlab是不同的.
>主机SSH处理除“git”内部的每个用户,并在用户名为“git”时将会话转发到Docker容器.

需要明确的是:Docker容器运行一个桥接器,它可以通过与主机IP不同的唯一IP地址从主机访问.

在StackOverflow(https://stackoverflow.com/questions/8505445/setup-ssh-server-to-forward-connections)上有一个类似的问题,但没有解决这个问题的答案 – 最有帮助的是建议自定义shell,但我发现无法创建类似的东西.

解决方法

SSH TCP端口隧道由ssh客户端配置.在服务器上,您只能使用authorized_keys中的permitopen = host:port限制隧道配置.

重定向流量的另一种方法是使用Netfilter / iptables和-m owner –uid-owner $UID和DNAT目标.

猜你在找的Linux相关文章