SCP(安全復制協議)是一種網絡文件傳輸協議,可以在遠程系統和本地主機或兩個遠程位置之間輕松安全地傳輸文件。它使用安全外殼 (SSH) 機制為您的數據和憑據提供身份驗證和加密功能。
管理員使用 SCP Linux 命令來簡化 Linux 服務器之間的數據傳輸過程,因為它不需要任何登錄到服務器。此外,它提供比文件傳輸協議(FTP) 更好的安全性,并且符合 PCI 安全委員會標準。
在本文中,您將了解如何在遠程主機(例如VPS)上使用 SCP 命令。我們將分解基本的 SCP 命令并提供示例,以幫助您更好地理解 Linux 命令的工作原理。
了解 SCP SSH 命令語法
在兩個遠程系統之間執行文件傳輸的 SCP 命令的基本語法如下所示:
scp [其他選項] [源用戶名@IP]:/[目錄和文件名] [目的用戶名@IP]:/[目的目錄]
這是命令的細分:
- [其他選項]?? 可以添加到 SCP 命令的修飾符。我們稍后會介紹最受歡迎的。
- [source username@IP]?? 托管目標文件的計算機的用戶名和 IP。
- :/?? 通知 SCP 命令用戶將在源目錄中鍵入。
- [目錄和文件名]?? 文件的位置和名稱。
- [目標用戶名@IP]?? 目標系統的用戶名和 IP。
- [目標目錄]?? 將保存文件的目標目錄。
以下示例顯示了真實場景中的 SCP 命令:
scp -p root@162.168.1.1:/media/scp.png hostinger@162.168.1.2:/desktop/destination
如果您要復制到本地主機或從本地主機復制,則不需要 IP 地址和目標或源路徑,如/desktop/folder_name。
專家提示
使用 -r 選項遞歸復制整個目錄。
使用 SCP 命令復制文件
SCP 最好的一點是它可以讓您在兩個遠程主機或遠程機器與本地系統之間安全地傳輸文件。以下部分將介紹 SCP 命令如何用于每種類型的傳輸。
重要的!無論您使用 SCP 執行何種類型的傳輸,您都不應該通過 SSH 連接到遠程服務器。
從本地服務器復制到遠程主機
我們會將本地文件scp.zip復制到名為root的遠程服務器。服務器的 IP 地址位于用戶名之后。
scp /users/Hostinger/desktop/scp.zip root@191.162.0.2:/writing/article
如果您沒有設置自動 SSH 客戶端確認,系統將提示您輸入遠程計算機的用戶密碼并查看進度表。它將如下所示:
root@191.162.0.2的密碼: novel3.zip 100% 0 0.0KB/s 00:00
假設遠程服務器設置為在默認 SSH 端口 22 以外的端口上偵聽 SSH 連接。在這種情況下,您必須使用 -P 選項指定該端口。
scp -P 2322 /users/Hostinger/desktop/scp.zip root@191.162.0.2:/writing/article
如果您還想在傳輸操作期間更改文件的名稱,那么您的命令將如下所示(如果您不使用默認端口,請添加–P后跟適當的端口號):
scp /users/Hostinger/desktop/scp.zip root@191.162.0.2:/writing/article/howtoscp.zip
使用 -r選項后跟相同的命令行來復制具有多個文件或子目錄的目錄。
scp -r /users/Hostinger/desktop root@191.162.0.2:/writing/article
專家提示
要查找目錄的完整路徑,請導航到適當的目錄并使用 pwd?SSH 命令(打印工作目錄)。
將遠程文件傳輸到本地計算機
顛倒命令的源系統和目標系統必須反映在語法中。這一次,我們將從同一臺遠程主機復制scp.zip文件到我們的本地計算機。
scp root@191.162.0.2:/writing/articles/SCP.zip Users/Hostinger/Desktop
執行此命令將提示需要密碼的相同 SSH 登錄輸出。僅當 sudo 權限已禁用身份驗證或強制 SSH 客戶端在您的計算機上使用私鑰時,它才會出現。
在遠程主機之間安全地移動文件
要將文件從一臺遠程服務器復制到另一臺,您必須在終端中運行以下命令后輸入兩個帳戶的密碼:
scp root@191.162.0.2:/writing/article/scp.zip hostinger@11.10.0.1:/publishing
上面的命令將源文件/writing/article/scp.zip從第一臺主機復制到第二臺主機。要復制文件夾,請使用-r選項并指定文件夾路徑而不是其中的文件。
在正常情況下,文件會直接從第一臺遠程服務器發送到第二臺。但是,如果您想通過您的機器重新路由操作,請添加-3選項,如以下命令所示:
scp -3 root@191.162.0.2:/writing/article/scp.zip hostinger@11.10.0.1:/publishing
使用帶選項的 SCP 命令
上面的例子有幾個修改命令的 SCP 選項。有許多單字符形式的常用選項(-o) 及其描述性等效項 (–option)。
例如,-q參數提示系統以安靜模式運行操作。它禁用進度表輸出以及警告和診斷消息。使用-v參數啟用詳細輸出以便于調試:
scp -v /users/Hostinger/desktop/scp.zip root@191.162.0.2
-4和-6選項確定使用的協議版本,即IPv4或IPv6。您還可以使用 address-family 關鍵字更全面地配置 IP 地址要求。
scp -6 root@191.162.0.2:/users/Hostinger/desktop/scp.zip
-p選項保留源文件中的修改、訪問時間和模式。
scp -p /users/Hostinger/desktop/scp.zip root@191.162.0.2
使用-stat選項檢查復制文件的詳細信息,例如創建日期和文件大小。
-C選項在傳輸操作發生時啟用大文件或目錄的數據壓縮。請記住,此選項不適用于壓縮文件,例如.zip和.rar檔案。
scp -C 文件夾 root@191.162.0.2
不要與-C混淆,-c選項可讓您指定客戶端應使用的加密算法。您可以輸入的一些值是“?aes256-ctr?”、“?aes256-cbc?”和“?3des-cbc?”。shell 配置中的默認選項是“?AnyStdCipher?”。
scp -c 3des-cbc /users/Hostinger/desktop/scp.zip root@191.162.0.2
重要的!使用 SCP 選項時要小心,因為它們區分大小寫。
結論
安全復制協議使得在網絡上的多個遠程系統之間傳輸文件變得更加容易。它使您可以安全地將文件從一臺遠程主機復制到另一臺,而無需通過加密連接登錄。此外,這種遠程文件傳輸方法使用安全外殼對您的數據進行加密,確保傳輸信息的機密性。