我正在尝试设置反向 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
。
怎么了?
答案1
默认情况下,隧道端点仅监听 127.0.0.1,因此无法从其他机器访问它们。要更改此设置,您首先需要/etc/ssh/sshd_config
在服务器上添加以下内容:
GatewayPorts clientspecified
然后在建立隧道时指定监听地址为0.0.0.0:
ssh -p 443 -NR 0.0.0.0:19001:localhost:21 userOnB@B