如何在Linux下使用scp指令透過ssh安全地傳輸文件
在Unix或Linux作業系統上,scp實用程式(secure copy)與更著名的命令cp類似,但用於在安全加密的網路上在主機之間傳輸檔案和目錄。
由於它依賴ssh進行資料傳輸,因此它提供了相同的安全性並使用了相同的身份驗證ssh。與rcp不同,scp指令將提示您輸入用於身份驗證的密碼(如果需要)。
在本文中,我們將深入研究Linux中檔案的安全傳輸,並學習如何使用scp指令。透過對常用scp開關和選項的詳細解釋和範例用例,您將了解如何使用此實用程式。
在開始之前了解以下這些很重要
- 由於scp依賴ssh進行資料傳輸,因此需要ssh金鑰或密碼在遠端系統(Linux檔案傳輸ssh)上進行驗證。
- 確認對目標系統有寫入權限,對來源檔案有讀取權限。
- 注意:scp工具使用冒號(:)來區分遠端位置和本機位置。
- 當複製兩邊具有相同位置和名稱的檔案時,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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

VS Code擴展安裝失敗的原因可能包括:網絡不穩定、權限不足、系統兼容性問題、VS Code版本過舊、殺毒軟件或防火牆干擾。通過檢查網絡連接、權限、日誌文件、更新VS Code、禁用安全軟件以及重啟VS Code或計算機,可以逐步排查和解決問題。

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

VS Code 可以在 Mac 上使用。它具有強大的擴展功能、Git 集成、終端和調試器,同時還提供了豐富的設置選項。但是,對於特別大型項目或專業性較強的開發,VS Code 可能會有性能或功能限制。
