我需要转发传入的 ssh 请求,如果可能的话,像这样:
sshRequest 到达服务器公共 IP 端口 21(如果可能的话,它会提供一个额外的字段 ID)sshRequest 被转发到不同端口上的本地主机或内部 IP(与 ID 相同)。
这个想法是从客户端发起反向隧道,我可以使用不同的id通过ssh进入本地主机,并根据使用的id /端口访问不同的终端。
如果我的想法不是实现该行为的正确途径,有人可以正确解释我如何实现该行为吗?或者,如果是,那么如何实现它?
答案1
换句话说,您想让现场的机器连接到一个中央服务器,然后您可以使用它来登录其中任何一台机器?
我曾经做过类似的事情。您可以编写一个在客户端上运行的 bash 脚本ssh -R
,无论有没有。然后您可以在服务器上施展魔法,将客户端的 IP 地址与其监听的端口相匹配。这需要编写相当多的脚本,结合和autossh
的输出(以及两者的各种选项)。ps
netstat
您还可以让客户端在建立隧道后将端口发布到某个简单的 PHP 页面,因为与服务器相反,客户端做知道监听端口。