Linux
SSH遠端轉發成功,但遠端站點測試不起作用
我花了一段時間才弄清楚這一點,但最終讓遠端埠轉發與ssh一起工作,如下所示:
ssh -N -i /etc/ssh/id_rsa user@somewhere.com -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
預設情況下,伺服器上的 TCP 偵聽套接字將僅綁定到環回介面。這可以通過指定 bind_address 來覆蓋。空的 bind_address 或地址“*”表示遠端套接字應偵聽所有介面。只有啟用了伺服器的 GatewayPorts 選項(參見 sshd_config(5)),指定遠端 bind_address 才會成功。