为什么即使启用了 GatewayPorts,我也无法远程连接到反向 SSH 隧道端口?

为什么即使启用了 GatewayPorts,我也无法远程连接到反向 SSH 隧道端口?

我需要持续通过 SSH 访问我们部门的一台主机,该主机的 IP 地址是动态分配的。我已从目标主机到我们的其中一台具有静态 IP 地址的主机建立了一个远程 SSH 隧道:

ssh -f -N -g -R :22223:localhost:22 tunnelhost

当我将 SSH 指向22223隧道主机上的本地端口时,隧道工作正常。但我的问题是,我似乎无法将隧道绑定到除本地主机之外的任何东西 - 即当我尝试远程 SSH 到 时tunnelhost:12323,没有开放端口来接收它。我还尝试过:

ssh -f -N -R :22223:localhost:22 tunnelhost -o GatewayPorts=yes

但还是没运气。Netstat 显示:

[me@tunnel_host ~]$ netstat -an | grep 22223
tcp        0      0 127.0.0.1:22223         0.0.0.0:*               LISTEN
tcp6       0      0 ::1:22223               :::*                    LISTEN

确认隧道仅绑定到本地主机。我使用firewalld-cmd在隧道主机上添加了端口例外,并确保没有网络硬件干扰连接。您知道这可能是什么吗?

干杯,詹姆斯。

答案1

您需要GatewayPorts=yes在 SSHd()的配置中启用它/etc/ssh/sshd_config,而不是在客户端中启用它,以便能够绑定到远程端口上除环回之外的接口。

-o GatewayPorts=yes

传递给命令时仅适用于本地端口ssh

相关内容