我的情况是,我需要将 host3 上的 9999 端口转发到我的本地主机。为了更清楚起见,这是我和目标之间的路径
localhost----->{Firewall_1 在此}---->host1------>{Firewall_2 在此}---->host2------->host3
我知道我可以使用“ root@host2:~# ssh -l root -R 9999:host3:9999 localhost
”来进行反向 ssh 隧道,不过,我很想知道如何使用“本地”或“动态” SSH 隧道来实现它。
如上所述,2 个防火墙将网络分隔开。此外,我还可以访问除 host3 之外的所有主机。
localhost 只能通过“ ssh firewall_1
” ssh 到 host1,其中,firewall_1 将端口 22 转发到 host1 端口 22。
同样的,host1 只能通过“ ssh firewall_2
” ssh 到 host2,其中firewall_2 将端口 22 转发到 host2 的 22 端口。
答案1
我知道如何利用本地端口转发器来实现这一点
"ssh -t -t -L 9999:localhost:9999 firewall_1 ssh -L 9999:host3:9999 firewall_2"
至于动态转发,这这篇文章对我帮助很大。