技术解析

内网机器通过 SSH 反向代理到公网机器之后,公网机器只监听了本地端口
0
2021-07-08 11:45:45
idczone

在内网机器上执行了

$ ssh -NR 9601:localhost:22 [email protected]

再在公网机器上做一个本地转发

$ ssh -NR 9601:localhost:22 [email&/>因为你这句写了 localhost
把它改成公网 IP ,或者写 0.0.0.0

公网的主机 sshd_config 里面增加 GatewayPorts yes ,重启 sshd 再试应该就可以了

sshd_config 里面默认 GatewayPorts yes 是注释的,注释掉重启 sshd 。
加上几个优化参数:
AllowAgentForwarding yes
AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes
ClientAliveInterval 60
ClientAliveCountMax 1440

是的,我在公网机器上又做了个正向代理,可以访问了,>_<

改过的,不是这个的原因。

看错了。

按照 manpage 里所写,你第一条命令就已经绑定在所有的 interface 了,需要服务端开 GatewayPorts yes 就可以从外部访问了,同意楼上说的

ssh -NR 9601:localhost:22 [email&
ssh -NR :9601:localhost:22 [email&0.0.0.0 上了,不然的话,只会监听在 127.0.0.1

这个真的没关系,

的确是配置的原因,谢谢大家

原来也遇到过这个问题,一直没有搞定。

数据地带为您的网站提供全球顶级IDC资源