Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux scp 遠端檔案傳輸完整指南:參數、範例、替代方案比較

編輯:Linux 教學

前言

scp (Secure Copy) 基於 SSH 協定,提供加密、認證的遠端檔案複製。語法簡單、無需額外服務,是跨主機傳檔首選。本文涵蓋核心語法、常用參數、目錄遞歸、免密碼配置、效能優化與替代工具比較。

基本語法


scp [選項] 來源 目的
# 來源/目的格式:[[user@]host:]路徑
# 本地路徑不加 host@

常用參數速查

參數功能
-r遞歸複製目錄
-P port指定 SSH 埠口 (大寫 P,小寫 p 為保留屬性)
-p保留修改時間、存取時間、模式 (權限)
-C啟用壓縮 (低頻寬網路提速)
-l limit限制頻寬 (Kbit/s)
-o ssh_option傳遞 SSH 選項 (如 -o StrictHostKeyChecking=no)
-4 / -6強制 IPv4 / IPv6
-v詳細除錯輸出
-q安靜模式 (隱藏進度條)

實戰範例集

場景指令
本地檔 → 遠端scp /path/file user@192.168.1.10:/remote/path/
遠端檔 → 本地scp user@192.168.1.10:/remote/file /local/path/
遠端 → 遠端 (經本地中轉)scp user1@host1:/file user2@host2:/path/
複製目錄scp -r /local/dir user@host:/remote/
指定埠口scp -P 2222 file user@host:/path/
保留屬性 + 壓縮scp -Cp file user@host:/path/
限制 10 Mbpsscp -l 10000 file user@host:/path/
批次腳本免互動scp -o BatchMode=yes -o StrictHostKeyChecking=no file user@host:/path/

免密碼自動化:SSH 金鑰對


# 1. 產生金鑰 (一次)
ssh-keygen -t ed25519 -C "backup@server"
# 2. 推送公鑰到目標主機
ssh-copy-id user@target_host
# 3. 驗證
ssh user@target_host 'echo ok'
# 之後 scp 無需輸入密碼

效能優化建議

  • 大檔案/高延遲:scp -C -o "Ciphers=aes128-ctr" -o "MACs=umac-64-etm@openssh.com" (啟用壓縮+快速加密/驗證演算法)。
  • 海量小檔案:tar czf - /src | ssh user@host "tar xzf - -C /dst" (單一 SSH 連線串流,避免建立連線開銷)。
  • 斷點續傳:scp 不支援,改用 rsync -avzP --partial。

替代工具比較

工具優點缺點適用場景
scp普及、無需額外服務、SSH 原生無續傳、單執行緒、大量小檔慢臨時、單檔、腳本自動化
rsync增量、續傳、保留屬性、多執行緒 (--parallel)、過濾規則豐富需雙端安裝、語法較複雜備份、同步、遷移、大量小檔
sftp互動式、支援續傳 (reget)、目錄操作批次腳本較繁瑣人工互動、圖形客戶端
tar+ssh單一串流、保留權限/時間、極快無增量、無續傳一次性大量資料遷移
FTP/FTPSWindows 原生支援、圖形客戶端多明文/憑證複雜、穿透 NAT 難舊系統相容、非技術用戶

常見錯誤排查

錯誤原因解決
Permission denied金鑰未授權、權限 700/600 錯誤、SELinux檢查 ~/.ssh 權限、restorecon -R ~/.ssh
Connection refusedsshd 未啟動、埠口錯誤、防火牆systemctl status sshd、firewall-cmd --add-service=ssh
Host key verification failedknown_hosts 過期/衝突ssh-keygen -R host 移除舊記錄
scp: /path: not a regular file複製目錄未加 -r加上 -r

總結

scp 是「隨身攜帶」的傳檔利器。掌握 -r -P -C -o 核心參數,搭配 SSH 金鑰免密碼,日常運維足夠應付 80% 場景。大量同步、斷點續傳請轉 rsync,互動操作用 sftp,形成工具組合拳。

Copyright © Windows教程網 All Rights Reserved