Linux

在不使用埠 8080 進行 SSH 連接的情況下訪問伺服器上的埠 8080

  • March 11, 2015

我正在執行一個程序,可讓您在瀏覽器中與之互動。為此,您執行程序並在瀏覽器中打開“localhost:8080”(如果 8080 是正確的埠)。

但是,我在伺服器上執行該程序,並嘗試通過 SSH 連接使用我自己的瀏覽器在我自己的電腦上訪問它。這意味著我必須在我的 SSH 連接中使用與程序使用相同的埠。但這不起作用,我的理論是程序和我的 SSH 連接正在爭奪埠。

所以我的問題是,換句話說: 如何在不使用埠 8080 進行 SSH 連接的情況下訪問伺服器上的埠 8080?

附加說明:我嘗試在我的 SSH 連接中使用 X-forwarding(-X 選項),並在伺服器上執行瀏覽器。這行得通,但速度非常慢。

與其在遠端伺服器上執行瀏覽器,不如使用ssh隧道將本地埠轉發到遠端伺服器的本地埠。

假設您在遠端主機上有埠 8080,此命令將在您的本地電腦(第一個localhost:8080)上創建一個偵聽埠 8080 並通過隧道連接到它以在遠端主機的上下文中localhost:8080執行- 即該 remote_host 本身上的埠 8080 . 告訴 ssh 繼續在後台執行;如果您希望會話在終端中保持打開狀態,請忽略此選項。-f``ssh

local$ ssh -f -L localhost:8080:localhost:8080 remote_host
local$ firefox http://localhost:8080/

引用自:https://unix.stackexchange.com/questions/189520