"ssh -L <port>" 只能在本地机器上工作

And*_* O. 4 linux ssh tunneling nat

我的意思是,如果我有这样的事情:

ssh -L 9000:itc.ua:80 andy@localhost
Run Code Online (Sandbox Code Playgroud)

它会9000在我的本地机器上打开端口,当我http://localhost:9000在 Firefox 中点击时,它会转发itc.ua:80 到目前为止很好。

但是如果我想9000从另一台机器访问那个打开的端口怎么办?例如,我在本地网络上有另一台机器,在另一台机器上我试图用 Firefox 导航http://<IP ADDRESS OF MACHINE WITH MY SSH -L 9000 Tunnel>:9000,但失败了。

有没有办法让它工作?

Mik*_*kel 7

尝试 ssh -g -L ...

来自man ssh

-G

允许远程主机连接到本地转发端口。如果在多路复用连接上使用,则必须在主进程上指定此选项。

来自man ssh_config

网关端口

指定是否允许远程主机连接到本地转发端口。默认情况下,ssh(1) 将本地端口转发绑定到环回地址。这可以防止其他远程主机连接到转发端口。GatewayPorts 可用于指定 ssh 应将本地端口转发绑定到通配符地址,从而允许远程主机连接到转发端口。论据必须是“是”或“否”。默认值为“否”。