Ssh
通過另一台主機 SSH 到遠端主機
我正在嘗試 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 客戶端將為您處理所有事情。