CH-J Server Manager透過 SSH 管理伺服器
選單
所有指南與文章 →

不使用 SCP,在兩台 Linux 伺服器之間透過 SFTP 傳輸檔案

透過自己的電腦在兩台遠端伺服器之間複製檔案,處理衝突,並以 SHA-256 驗證結果。

在伺服器之間傳輸資料的兩種方式

可以讓一台伺服器直接連線到另一台,也可以由自己的電腦在兩者之間中繼資料。直接連線通常較快,但來源伺服器需要能透過網路存取目標伺服器,並持有其認證資料,而你可能不希望將這些資料留在伺服器上。中繼方式不需要這兩個條件:只有你的電腦持有認證資料,兩台伺服器也不必能互相存取。代價是所有資料都會經過你的網路連線。

從命令列中繼傳輸

scp 的 -3 選項會透過本機電腦,在兩台遠端主機之間複製檔案。這適合單次複製,但不提供佇列;如果傳輸中斷,必須自行重新執行。

scp -3 admin@source.example:/srv/data/archive.tar.gz admin@target.example:/srv/data/

驗證複製結果

在刪除來源伺服器上的任何內容之前,請先比較兩台伺服器上的總和檢查碼。SHA-256 值相符表示檔案已完整傳輸,光是檔案大小相同無法證明這一點。

ssh admin@source.example sha256sum /srv/data/archive.tar.gz
ssh admin@target.example sha256sum /srv/data/archive.tar.gz

事先決定如何處理衝突

進行較大規模的傳輸前,請先決定目標位置已存在檔案時該如何處理:覆寫、保留兩者,或略過。檢查目標伺服器的可用空間及目標目錄的權限。以一般使用者身分複製不會保留檔案擁有者,因此還原應用程式後,可能需要修正檔案擁有權。

CH-J Server Manager 中的雙面板操作

在 Alpha 0.1.1 中,File Manager 提供一到三個面板,每個面板可顯示本機磁碟或任何已開啟的 SSH 工作階段。可以使用鍵盤、拖曳或快顯功能表,在面板之間複製或移動檔案。資料會透過你的電腦,從一個 SFTP 工作階段串流傳輸到另一個,不會儲存到電腦的磁碟;傳輸使用佇列,支援暫停、繼續、取消及衝突處理。移動檔案時,只有在 SHA-256 比對相符,且來源檔案未變更的情況下,才會刪除來源檔案。

需要注意的限制

傳輸並非直接在伺服器之間進行,因此速度取決於你的電腦與兩台伺服器之間的連線,而且電腦必須保持連線。只有使用 sudo 才能讀取的檔案,無法透過這種方式在伺服器之間複製。Beta 0.1.0 不包含多面板的 File Manager。

詳細文件

OpenSSH: sftp →

OpenSSH: scp (-3) →

生物辨識解除鎖定與安全性 →