無需開放連接埠的 SSH 中繼

無需開放連接埠的 SSH 中繼

我有機器AB可以Relay透過 ssh 存取機器,但反之則不行。我是否可以在不打開端口的情況B下通過A計算機訪問計算機,除非該端口是唯一可訪問的端口?Relay22

例如,一個可能的解決方案是sshfrom BintoRelay並開啟檔案進行stdin讀寫stdout。連接 fromArelay允許讀取和寫入這些檔案以與 進行通訊B

有沒有辦法使用命令列工具來實現這一目標?

答案1

嗯,顯然中繼上已經有一個打開的端口,否則 ssh 是不可能的。

我看到的唯一方法是 B 透過 ssh 連接到中繼,同時打開 A 可以使用的反向隧道。您正在尋找“-R”選項。

答案2

這是一種方法:

  1. ssh A 中繼並轉送本機連接埠(例如ssh -L 6022:127.0.0.1:6022) 此指令將 A 上的本機連接埠 6022 透過 SSH 轉送到中繼上的連接埠 6022。
  2. ssh B 中繼並將遠端連接埠轉送至本機 ( ssh -R 6022:127.0.0.1:22) 此指令將中繼上的遠端連接埠 6022 轉送至 B 上的本機連接埠 22
  3. 現在在 A 上,使用 ssh 連接到本地主機連接埠 6022,並且應該能夠登入 B。

相關內容