什麼是 ssh -L 123:farawayhost:456 遠端主機?

什麼是 ssh -L 123:farawayhost:456 遠端主機?

來自這個問題:什麼是ssh連接埠轉送以及ssh本地和遠端連接埠轉送有什麼區別,我對這種用法感到困惑:

ssh -L 123:farawayhost:456 remotehost

ssh -L sourcePort:forwardToHost:onPort connectToHost表示:使用 ssh 連線到connectToHost,並將所有連線嘗試轉送到當地的 sourcePortonPort到名為 的電腦上的端口forwardToHost,可以從該connectToHost 計算機存取該端口。

"..., which 是什麼意思?可以到達connectToHost機器上。

如果我理解正確的話,ssh -L 123:localhost:456 remotehost這是上述命令的一個特定情況,其中farawayhostremotehost都在同一台機器上。

那麼當farawayhostremotehost不在同一台機器上時,它是如何運作的呢?這是否意味著我需要先登入remotehost然後再登入farawayhost

答案1

我不知道為什麼一開始我很困惑,也許是因為原來的答案不夠清楚,但後來我突然想通了。

假設我有2台機器,其公網IP分別是1.2.3.42.3.4.5

用法是:,它將提示換行符,需要密碼on 。ssh -L 10283:1.2.3.4:8000 [email protected] -Nusername2.3.4.5

在此輸入影像描述

成功通過身份驗證後,ssh不會讓您登錄,因為-N已指定,但連接已建立。所以任何數據發送到當地的port10283將首先傳送至2.3.4.5via ssh(port 22),然後2.3.4.5將資料傳送至1.2.3.4on port8000.

現在讓我創建一個 html 檔案並使用echo hello > index.html運行 http 伺服器。1.2.3.4python -m http.server

然後我localhost:10283在本地電腦上打字。

本地電腦:

在此輸入影像描述

1.2.3.4

在此輸入影像描述

相關內容