Linux
通過多台電腦進行 SFTP
我想將文件從 A 複製到 D。電腦只能訪問它旁邊的文件。
+---------------------------------------------------------+ | Computer A <-> Computer B <-> Computer C <-> Computer D | +---------------------------------------------------------+
現在,我使用 SFTP 將其從 A 複製到 B,然後 ssh 到 B,將其複製到 C,ssh 到 C 等等。完成後,我返回並關閉每個 ssh 會話並刪除文件。
有沒有一種簡單的方法可以更有效地將文件從 A 發送到 D?現在,該文件必須完全下載到該行中的每台電腦,然後才能刪除。不,使用磁片和步行並不更有效率。
使用 LocalPortForwarding 設置本地埠偵聽並用作目標 SSH 服務。
+---------------------------------------------------------+ | Computer A <-> Computer B <-> Computer C <-> Computer D | +---------------------------------------------------------+
在
$$ ComputerC $$, 在套接字 localhost:2022 上創建一個偵聽器,通過將流量轉發到 ComputerD:22 作為 ComputerD 的 SSH
$ ssh -L2022:ComputerD:22 ComputerD
在
$$ ComputerB $$, 在套接字 localhost:2022 上創建一個偵聽器,通過將流量轉發到 ComputerC 的 localhost:2022 作為 ComputerD 的 SSH
$ ssh -L2022:localhost:2022 ComputerC
在
$$ ComputerA $$, 在套接字 localhost:2022 上創建一個偵聽器,通過將流量轉發到 ComputerB 的 localhost:2022 作為 ComputerD 的 SSH
$ ssh -L2022:localhost:2022 ComputerB
使用ComputerA上的2022埠作為ComputerD的SSH服務,複製文件
$ scp -P2022 file localhost:/path/