答案1
是的,这应该可行。我在我的 Linux 机器上试过了。
- host3 上的命令
ssh -R p1:localhost:p2 user@host2
在 host 2 上创建一个监听套接字 p1,该套接字通过隧道传输到 host3 上的 p2 - host1 上的命令
ssh -L p0:localhost:p1 user@host2
在 host1 上创建一个监听套接字 p0,该套接字通过隧道传输到 host2 上的 p1
因此,host1 上的 http://localhost:p0 通过隧道传输到 host2 上的 p1,而 host2 上的 p1 通过隧道传输到 host3 上的 p2。
我对此进行了如下测试:
- host3:启动Web服务器
- 主机3:
ssh -R 10443:localhost:443 user@host2
- 主机1:
ssh -L 443:localhost:10443 user@host2
- 主机 1:firefox -> https://localhost