现在是星期天早上,我正在尝试理解 SSH 和本地端口转发,以下两个示例在 IP= 的机器上运行,将192.168.175.23
本地端口 1234 上的传入连接转发到 IP= 的另一台机器的端口 5000 192.168.200.7
。
现在我阅读了 MAN 页面并在网上看到了示例,但有一件事对我来说仍然不清楚,即:为什么示例 2 有效?
1:(shell 提示符明晰)
192.168.175.23:~ okihara$ ssh -nvNT -g -L 1234:192.168.200.7:5000 localhost
和2:
192.168.175.23:~ okihara$ ssh -nvNT -g -L 1234:localhost:5000 [email protected]
示例 1 似乎相当不言自明,即不需要登录到远程 ssh,因此我可以将本地端口转发到例如 www.w3.org:80,但示例 2 对我来说有点晦涩难懂。
答案1
你举的例子几乎没有问题
- 在代码中,您使用的是
-L
用于本地端口转发的交换机 - in参数
localhost
是指相对于相应主机(本地转发时为远程主机,远程端口转发时为本地计算机)。如果指定其他参数,则 localhost 允许bind
外部网络接口以及一个或另一个网络中的远程计算机,
如果它仍然没有回答您的问题,请相应地更新您的答案并确保相应使用您使用的术语(本地、远程)和命令。