我想知道如何/如何实现以下设置。 它似乎不符合标准的SSH端口转发模型。
我有一个客户端机器A.我有一台运行在机器A上的服务器应用程序,它在端口X上侦听。但是,机器A在普通IP地址后面(由许多用户共享),所以它不能接收到端口的传入连接X从互联网。 但是,我有权访问Amazon EC2中的计算机B,并且确定连接将通过该计算机。 在EC2中将应用程序移动到这台机器是不可能的。
因此,我想要的是让机器B在端口X上侦听并将所有连接/通信转发给机器A.机器A必须看到它,就好像客户端以通常方式连接到端口X一样(可以接受的是源IP显示为机器B)。
解决scheme必须以这样的方式工作,即机器A是连接到机器B的客户机。所以对于ssh,A必须是ssh客户机,而B是ssh服务器。 同样,这是因为机器A在普通IP之后,因此所有连接必须从A传出。
这个设置如何实现? 最好使用通用的免费软件? 先谢谢你。
这可以很容易地通过在机器A上启动的ssh反向连接完成。作为指针应该是有帮助的
ssh -R :PortX:127.0.0.1:PortX user@MachineB
如果在“机器A”上运行Windows,则plink是ssh(客户机)的替代scheme。
然而,持续的反向端口转发可能会非常棘手,但绝对有可能。
在“机器B”上,您需要启用
GatewayPorts clientspecified
在sshd_config中
编辑: