ssh 反向隧道与远程 IP

ssh 反向隧道与远程 IP

来自服务器 192.168.0。1,我想访问服务器 192.168.0。2在端口 80 上。

192.168.0。2可以达到192.168.0。1,但是 192.168.0。1无法到达 192.168.0。2(防火墙)。

我通过在 192.168.0 上输入以下命令设置了反向代理。2:

ssh -f -N -T -R0.0.0.0:80:localhost:80 192.168.0.1

现在是192.168.0。1可以达到192.168.0。2,使用以下命令:

wget localhost:80

不过我希望能够到达 192.168.0。2通过录音

wget 192.168.0.2:80

在不干扰 DNS 的情况下这可能吗?

答案1

您需要定义GatewayPortsin,sshd_config否则*0.0.0.0将仅绑定到环回接口。

另请注意

仅当以 root 身份登录远程计算机时才能转发特权端口。

从手册页ssh

默认情况下,服务器上的 TCP 侦听套接字将仅绑定到环回接口。这可以通过指定bind_address.空的绑定地址或地址“*”表示远程套接字应侦听所有接口。bind_address仅当启用服务器的 GatewayPorts 选项(请参阅 sshd_config(5))时,指定远程才会成功。

答案2

我在 Ubuntu 14.04 上遇到了这个问题(我尝试了和GatewayPorts clientspecified)。GatewayPorts yes/etc/ssh/sshd_config

相反,将其添加到我的sshd_config工作中:

Match User !root
    GatewayPorts yes

也就是说,我必须指定一个用户来匹配规则。

相关内容