我的意思是,如果我有这样的东西:
ssh -L 9000:itc.ua:80 andy@localhost
它将9000
在我的本地计算机上打开端口,当我点击http://localhost:9000
Firefox 时,它将转发到itc.ua:80
到目前为止一切顺利。
但是如果我想9000
从另一台机器访问打开的端口怎么办?例如,我的本地网络上有另一台机器,我尝试使用 Firefox 导航到另一台机器,http://<IP ADDRESS OF MACHINE WITH MY SSH -L 9000 Tunnel>:9000
但失败了。
有什么办法让它发挥作用吗?
答案1
尝试ssh -g -L ...
从man ssh
:
-G
允许远程主机连接到本地转发端口。如果在多路复用连接上使用,则必须在主进程上指定此选项。
从man ssh_config
:
网关端口
指定是否允许远程主机连接到本地转发端口。默认情况下,ssh(1) 将本地端口转发绑定到环回地址。这可以防止其他远程主机连接到转发的端口。 GatewayPorts 可用于指定 ssh 应将本地端口转发绑定到通配符地址,从而允许远程主机连接到转发的端口。论证必须是“是”或“否”。默认为“否”。