Scp
如何將 scp 副本從一台機器傳送到另一台機器?
假設我們有三台機器:A、B 和 C。
- 機器 A 無法從任何網路訪問機器 B,因此我無法在兩者之間發送文件。
- 但是 A 和 B 都可以從 C(我的機器)到達。
今天我必須將一個巨大的文件從 A 複製到 B。
目前,我需要先將其從 A 複製到 C,然後從 C 複製到 B。有沒有辦法連接或通過管道將
scp
傳入數據流式傳輸到目標機器,而無需在中間保存?
man scp
寫(我強調)**
-3
**兩個遠端主機之間的副本通過本地主機傳輸。如果沒有此選項,數據將直接在兩個遠端主機之間複製。$$ … $$
所以你需要的是一個通過本地系統路由的複制命令(我幾乎總是包含
-p
, 以保留時間戳和權限,所以我在這裡也這樣做了):scp -3p serverA:path/to/file(s) serverB:/path/to/destination
自 2021 年 8 月 9 日起,最新版本預設啟用
scp
,要禁用它,現在必須指定. 使用此第三方複製功能將禁用密碼片語和密碼提示,因為無法為兩個主機要求它們。-3
-R``scp