Linux

SSH遠端轉發成功,但遠端站點測試不起作用

  • January 2, 2022

我花了一段時間才弄清楚這一點,但最終讓遠端埠轉發與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

我嘗試從我的公共站點對此進行測試,如下所示:

但是,什麼也沒發生 - 仍然看到這一行:

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

如果我使用**http://127.0.0.1:8080遠端伺服器上****進行本地測試**,它工作正常。

注意:在遠端伺服器上的 sshd_config 中設置了以下內容:

  1. AllowTcpForwarding 是
  2. 網關埠 是

不知道我錯過了什麼……

引用自man ssh

預設情況下,伺服器上的 TCP 偵聽套接字將僅綁定到環回介面。這可以通過指定 bind_address 來覆蓋。空的 bind_address 或地址“*”表示遠端套接字應偵聽所有介面。只有啟用了伺服器的 GatewayPorts 選項(參見 sshd_config(5)),指定遠端 bind_address 才會成功。

引用自:https://serverfault.com/questions/1088777