Ssh

通過另一台主機 SSH 到遠端主機

  • April 11, 2017

我正在嘗試 ssh 到遠端主機 B,但網路訪問控制控制我只能通過主機 A 執行此操作。我將如何去做?

已嘗試創建到主機 A 的隧道 ssh -f -N -D 2222 user@hostA

然後當從本地指定隧道埠創建新的 ssh 連接以隧道這些連接時,但無法使其正常工作.. ssh -L 2222:hostB:22 hostA

涉及的主機:本地主機A(本地內網)主機B(網際網路)

流量:Local > HostA > HostB

任何指針都會是超級手..提前謝謝!

您為此使用動態埠轉發的想法永遠不會奏效。從邏輯上考慮 - 您需要打開一個本地埠,該埠從本地電腦通過 hostA 轉發到 hostB 上的埠 22。有幾種方法可以實現這一目標。首先,不優雅的手動方式:

首先,設置隧道:

$ ssh -L2222:hostB:22 user@hostA

然後,連接到 hostB:

$ ssh -p 2222 user@localhost

首選選項是使用 ssh 客戶端ProxyCommand指令,它可以為您自動執行此操作。將這樣的內容添加到您的~/.ssh/config

host hostB
 Hostname hostB
 ProxyCommand ssh user@hostA nc %h %p 2> /dev/null

執行此操作後,您可以執行以下操作:

$ ssh hostB

…並且 ssh 客戶端將為您處理所有事情。

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