我在防火墙后面有一个服务器,防火墙只允许通过端口22的流量。这个服务器有公共和私有地址。
我还有大约1K客户端,我需要将shell转发到此服务器,并且当我想要ssh反向隧道时,能够通过id选择其中一个。
我的目标是让客户端通过端口22连接到ssh服务器,并且每个连接应该转发到具有相同ID的端口上的localhost。 当我通过ssh连接到我的笔记本电脑的服务器时,我会在正确的id上ssh到localhost并获得客户端shell。
有人可以使用bash,ssh和linux工具为我提供实现此行为的良好途径吗?
注意 - 我不想使用client.py和server.py,因为我的大多数客户都是基于android的,很容易成为在所有客户端上安装python的噩梦。
答案 0 :(得分:0)
问题 - 它是使用远程端口转发解决的:
ssh -R 21:localhost:8888 user@server
在此命令中,8888表示终端ID。为了使其工作,必须将此行添加到我的ssh conf:
GatewayPorts yes