我有機器A
,B
可以Relay
透過 ssh 存取機器,但反之則不行。我是否可以在不打開端口的情況B
下通過A
計算機訪問計算機,除非該端口是唯一可訪問的端口?Relay
22
例如,一個可能的解決方案是ssh
from B
intoRelay
並開啟檔案進行stdin
讀寫stdout
。連接 fromA
至relay
允許讀取和寫入這些檔案以與 進行通訊B
。
有沒有辦法使用命令列工具來實現這一目標?
答案1
嗯,顯然中繼上已經有一個打開的端口,否則 ssh 是不可能的。
我看到的唯一方法是 B 透過 ssh 連接到中繼,同時打開 A 可以使用的反向隧道。您正在尋找“-R”選項。
答案2
這是一種方法:
- ssh A 中繼並轉送本機連接埠(例如
ssh -L 6022:127.0.0.1:6022
) 此指令將 A 上的本機連接埠 6022 透過 SSH 轉送到中繼上的連接埠 6022。 - ssh B 中繼並將遠端連接埠轉送至本機 (
ssh -R 6022:127.0.0.1:22
) 此指令將中繼上的遠端連接埠 6022 轉送至 B 上的本機連接埠 22 - 現在在 A 上,使用 ssh 連接到本地主機連接埠 6022,並且應該能夠登入 B。