我需要持续通过 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
。