![使用 SSH 隧道时端口未打开](https://linux22.com/image/1386640/%E4%BD%BF%E7%94%A8%20SSH%20%E9%9A%A7%E9%81%93%E6%97%B6%E7%AB%AF%E5%8F%A3%E6%9C%AA%E6%89%93%E5%BC%80.png)
ssh -N -L 1982:123.456.789.123:22 [email protected]
这就是我在 上所做的,Box1
以便它监听端口 1982 并将其传递到 的端口 22。123.456.789.123
当我执行 时netstat -a | egrep 'Proto|LISTEN'
,它显示:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:1982 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp6 0 0 ip6-localhost:1982 [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
所以它正在监听端口 1982。当我转到本地计算机并尝试Box1
通过端口 1982 进行连接时,它说端口已关闭。我该怎么做才能让它监听?
答案1
Box1 仅在环回接口上监听 1982。您无法使用该设置来路由来自其他盒子的流量。
编辑:
你之所以会看到这一点,是因为localhost
你的问题中这样说:
tcp 0 0 localhost:1982 *:* LISTEN
如果您也设置绑定地址,您应该会得到您想要的结果,例如:
ssh -N -L 0.0.0.0:1982:123.456.789.123:22 [email protected]
您可以在手册页如果你想仔细看看它。