我花了一段时间才弄清楚这一点,但最终让远程端口转发与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
我尝试从我的公共站点对此进行测试,如下所示:
- http://www.somewhere.com
- http://www.somewhere.com:8080
- https://www.somewhere.com
- https://www.somewhere.com:8080
但是,什么也没发生 - 仍然看到这一行:
debug1: remote forward success for: listen 8080, connect localhost:80
如果我使用http://127.0.0.1:8080在远程服务器上进行本地测试,它工作正常。
注意:在远程服务器上的 sshd_config 中设置了以下内容:
- AllowTcpForwarding 是
- 网关端口 是
不知道我错过了什么......
引用自
man ssh