为简单起见,我给出我的服务器名称,server-A, server-B
server-A
- 一个简单的服务器具有公共IP,该服务器是1G内存,共享CPUserver-B
- 更强大的服务器,具有更多 RAM、CPU 核心等...,但它没有公共IP,它通过我无法访问的路由器,因此我无法对该服务器进行端口转发
我想运行一项服务,server-B
以便人们能够连接到它,并且该服务的繁重计算将运行在server-B
因为我无法进行端口转发,所以server-B
我想知道是否有任何网络服务可以执行类似反向 shell 的操作,server-B
将是启动连接server-A
并创建隧道的服务,然后server-A
将流量转发到由server-B
最后,人们将连接到server-A
某个端口(例如 8080),server-A
接受该请求并将其转发到server-B
他们共享的隧道
是否可以
笔记
他们不在同一个局域网,他们在完全不同的位置,server-B
可以直接到达server-A
互联网,但server-A
不能server-B
直接到达
答案1
如果在服务器 A 上启用,您可以进行 SSH 远程端口转发。
在服务器 B 上运行此命令
ssh -R Server-A-port:127.0.0.1:server-B-port -N -f user@Server-A
所以现在任何点击server-A:Server-A-port
它的请求都会被传递到server-B:server-B-port
您可以阅读有关 ssh 转发的更多信息这里。