我试图build立一个反向ssh隧道,如下所示:
A ==========> B <----X---- C
我从A发起隧道:
ssh -p 443 -NR 19001:localhost:21 userOnB@B
在计算机B如果我使用隧道,我可以使用隧道:
ssh -p 19001 userOnA@localhost
但是,如果我连接到B的名称,IP地址或另一台计算机(如C ),我得到一个ssh: connect to host port 19001: Connection refused 。
哪里不对?
默认情况下,隧道端点只能在127.0.0.1上侦听,所以不能从其他机器访问。 要改变这个,你首先需要把它添加到服务器上的/etc/ssh/sshd_config :
GatewayPorts clientspecified
然后在build立隧道时指定监听地址为0.0.0.0:
ssh -p 443 -NR 0.0.0.0:19001:localhost:21 userOnB@B