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 基於 SSH 協定提供加密檔案傳輸,語法簡潔支援單檔、目錄遞迴、保留屬性。本文整理上傳/下載檔案與目錄的標準指令範例、關鍵參數對照表、SSH 金鑰免密碼配置流程,並補充 rsync/sftp 替代方案適用場景。

scp 傳輸示意圖

基本語法

scp [選項] [用戶@]來源主機:來源路徑 [用戶@]目的主機:目的路徑

四大核心操作範例

常用參數速查

操作指令範例
下載單一檔案scp user@192.168.1.100:/home/user/file.txt /tmp/
上傳單一檔案scp /var/www/app.jar user@192.168.1.100:/opt/deploy/
下載整個目錄scp -r user@192.168.1.100:/var/www/html/ /backup/
上傳整個目錄scp -r /local/project/ user@192.168.1.100:/remote/path/
參數說明
-r遞迴複製目錄
-p保留修改時間、存取時間、權限
-P port指定 SSH 埠 (大寫 P,區別 ssh -p)
-C啟用壓縮傳輸 (低頻寬有效)
-l limit限制頻寬 (Kbit/s)
-o SSH_OPTION傳遞 ssh 選項 (如 -o StrictHostKeyChecking=no)
-i identity_file指定私鑰檔案
-q靜默模式 (不顯示進度)

SSH 金鑰免密碼配置 (一次設定,長期免輸入密碼)

  1. 本地產生金鑰:ssh-keygen -t ed25519 (或 -t rsa -b 4096)
  2. 複製公鑰至遠端:ssh-copy-id user@remote-host
  3. 驗證:ssh user@remote-host 應直接登入
  4. scp 即可無密碼執行

進階:批次傳輸與期望腳本

# 使用 expect 自動化輸入密碼 (不建議生產環境)
# 更佳方案:建立專用傳輸帳號 + 金鑰 + 限制命令 (rssh/authorized_keys command=)

替代工具選擇指南

  • rsync:增量同步、斷點續傳、保留權限/擁有者、頻寬控制、適合備份/鏡像
  • sftp:互動式 FTP-like 操作、支援目錄瀏覽、適合人工操作
  • tar + ssh:大量小檔案打包串流傳輸 tar czf - /src | ssh user@host "tar xzf - -C /dst" 避免 inode 操作開銷
Copyright © Windows教程網 All Rights Reserved