SSH 远程转发成功,但远程站点测试不起作用

SSH 远程转发成功,但远程站点测试不起作用

我花了一段时间才弄清楚,但最终还是让远程端口转发正常工作了远程控制如下:

ssh -N -i /etc/ssh/id_rsa [email protected] -R 8080:localhost:80 -C -v

本地服务器使用私钥连接到配置了公钥的远程服务器。能够成功验证,日志中没有错误。ssh 打印的最后一行是:

debug1: remote forward success for: listen 8080, connect localhost:80

我尝试用我的公共网站, 如下:

然而,什么也没有发生——仍然看到这一行:

debug1: remote forward success for: listen 8080, connect localhost:80

如果我本地测试远程服务器使用http://127.0.0.1:8080, 它作品美好的。

注意:远程服务器上的 sshd_config 中设置了以下内容:

  1. AllowTcpForwarding 是
  2. GatewayPorts 是

不确定我错过了什么...

答案1

引自man ssh

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

相关内容