首頁  >  文章  >  系統教程  >  如何在Linux下使用scp指令透過ssh安全地傳輸文件

如何在Linux下使用scp指令透過ssh安全地傳輸文件

WBOY
WBOY轉載
2024-02-09 13:39:30884瀏覽

如何在Linux下使用scp指令透過ssh安全地傳輸文件

在Unix或Linux作業系統上,scp實用程式(secure copy)與更著名的命令cp類似,但用於在安全加密的網路上在主機之間傳輸檔案和目錄。

由於它依賴ssh進行資料傳輸,因此它提供了相同的安全性並使用了相同的身份驗證ssh。與rcp不同,scp指令將提示您輸入用於身份驗證的密碼(如果需要)。

在本文中,我們將深入研究Linux中檔案的安全傳輸,並學習如何使用scp指令。透過對常用scp開關和選項的詳細解釋和範例用例,您將了解如何使用此實用程式。

在開始之前了解以下這些很重要

  1. 由於scp依賴ssh進行資料傳輸,因此需要ssh金鑰或密碼在遠端系統(Linux檔案傳輸ssh)上進行驗證。
  2. 確認對目標系統有寫入權限,對來源檔案有讀取權限。
  3. 注意:scp工具使用冒號(:)來區分遠端位置和本機位置。
  4. 當複製兩邊具有相同位置和名稱的檔案時,scp將在沒有事先警告的情況下覆蓋檔案。

SCP Linux指令語法

為了開始使用scp指令,您需要了解其基本語法,格式如下:

less复制代码
scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2

選項:表示諸如ssh配置,密碼,限制,ssh端口,遞歸副本等之類的scp選項。

[user@]SRC_HOST:]file1:表示原始檔。

[user@]DEST_HOST:]file2 :代表目標檔案

與其他任何命令一樣,scp工具具有一些用於控制其行為的選項。最常見的是以下幾種:

  • -P:指示要連接的遠端主機的ssh連接埠。
  • -p:指定從原始檔案保留檔案修改,模式和存取時間。
  • -q:需要禁止顯示非錯誤訊息和進度表。
  • -C:強制scp在將-C標誌傳遞給ssh時壓縮數據,以啟用加密安全連接的壓縮。
  • -r:告訴scp指令以遞歸方式複製整個目錄。
  • -S:用於加密連線的程式名稱。由於使用了ssh,因此程式必須了解ssh開關。
  • -v:詳細模式。使scp和ssh可以輸出有關其進度的消息。這在調試連接,配置和身份驗證問題時很有用。

將本機檔案傳輸到遠端目標

在開始使用scp之前,讓我們使用cp將檔案從一個文��夾複製到另一個資料夾。我們都知道如何使用cp指令來實現這一點:

bash复制代码
cp /home/linuxmi/linuxmi.mp3 /home/linuxmi/audio

它將使用者linuxmi的主目錄中的檔案linuxmi.mp3複製到同一使用者的主資料夾即linuxmi的audio目錄中。

以類似的方式,可以使用的scp指令範例如下所示:

typescript复制代码
scp /home/linuxmi/linuxmi.mp3 linuxmi@linuxmi.com:/home/linuxmi/audio

使用linuxmi作為登入名稱將linuxmi.mp3檔案上傳到伺服器linuxmicom到遠端目錄/home/linuxmi/audio���。請注意,在開始上傳之前,scp將提示您輸入linuxmi的遠端密碼。如果未提供遠端目錄,則檔案將複製到遠端使用者的主目錄。如果不在目標資料夾上提供檔案名,則將使scp複製具有原始名稱的檔案。如果要使用其他名稱儲存文件,則需要指定新文件名稱。

將遠端檔案傳輸到本機目標

為了下載文件,您可以提及一個遠端位置作為來源位置。例如 :

scp linuxmi@linuxmi.com:/home/linuxmi/audio/* /home/linuxmi/downloads

它將把linuxmi.com上遠端目錄/ home/linuxmi/audio中的所有音訊檔案下載到本地目錄/home/linuxmi/downloads中。

注意檔名:

檔案名稱可以由使用者和主機組成,以指示檔案到該主機的傳輸或從該主機的傳輸。為了避免scp處理包含「:」作為主機說明符的檔名,本地檔名可以是絕對檔名,也可以是相對檔名。但是,遠端檔案名稱應同時包含使用者和主機。

預設連接埠號碼:

如果在遠端主機上,SSH正在偵聽其他連接埠(即預設連接埠22以外的連接埠),則可以使用-P開關指示該連接埠。

將本機目錄傳輸到遠端目標

將目錄複製到遠端位置,類似於複製檔案。您只需要使用-r標誌進行遞迴傳輸。

要將整個目錄複製到遠端系統,請執行帶有-r選項的命令,例如:

scp -r /home/linuxmi/local_folder linuxmi@linuxmi.com:/home/linuxmi/remote_folder

兩個遠端系統之間的檔案傳輸

以下指令會將檔案/folder/linuxmi.mp3從遠端主機linuxmi.com複製到遠端主機www.linuxmi.com上的目錄/folder。

scp linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder

啟動此操作後,將要求您提供兩個遠端目標的密碼。

為了透過本機主機(即執行指令的電腦)路由流量,請使用-3開關,如下所示:

scp -3 linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder

######

以上是如何在Linux下使用scp指令透過ssh安全地傳輸文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除