sftp — SSH 安全檔案傳輸協定

透過 SSH 加密連線進行互動式或批次的安全檔案傳輸。

語法

sftp [選項] [使用者@]主機[:路徑]

常用選項

選項 說明 範例
-P port 指定 SSH port sftp -P 2222 user@host
-i 金鑰 指定 SSH 私鑰 sftp -i ~/.ssh/key user@host
-b 檔案 從檔案讀取批次指令(非互動式) sftp -b commands.sftp user@host
-r 遞迴傳輸目錄(get/put -r) sftp user@host
-C 啟用壓縮 sftp -C user@host

使用範例

範例 1:互動式 sftp 連線

連線後可使用以下指令: ls / lls — 遠端/本機目錄列表 cd / lcd — 遠端/本機切換目錄 get 遠端檔案 — 下載 put 本機檔案 — 上傳 mkdir — 建立遠端目錄 pwd / lpwd — 遠端/本機路徑 bye / exit — 離開

$ sftp user@server.example.com
Connected to server.example.com.
sftp> ls
Documents  Downloads  public_html
sftp> get important.log
Fetching /home/user/important.log to important.log
範例 2:直接下載特定檔案

在連線時就指定路徑,可直接進入該目錄。

$ sftp user@server:/var/log/
sftp> ls
access.log  error.log  syslog
範例 3:批次非互動式傳輸

將 sftp 指令寫入檔案,用 -b 非互動式執行,適合腳本自動化。

$ cat > batch.sftp << 'EOF'
cd /var/www/html
put -r ./dist/*
bye
EOF
sftp -b batch.sftp user@server

延伸閱讀