Scp

如何將 scp 副本從一台機器傳送到另一台機器?

  • August 30, 2021

假設我們有三台機器: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

引用自:https://unix.stackexchange.com/questions/666404