首頁 > 網路管理 > sftp

sftp: 安全檔案傳輸工具

sftp 命令是一個透過 SSH(安全外殼協定)安全傳輸檔案的互動式命令列客戶端。與 `ftp` 不同,它加密所有通訊,提供卓越的安全性,用於在本地和遠端伺服器之間上傳、下載和管理檔案。

概述

SFTP (SSH 檔案傳輸協定) 是為取代不安全的 FTP 而開發的協定。`sftp` 命令使用 SSH 連線來加密所有資料和命令,因此使用者名稱、密碼、檔案內容等在網路傳輸中不會有暴露的風險。它像 FTP 一樣支援互動模式,並且使用方法類似,因此熟悉 FTP 的使用者也能輕鬆上手。

主要特點

sftp 命令的主要特點如下:

  • 基於 SSH,加密所有通訊。
  • 提供類似 FTP 的互動式命令介面。
  • 使用單一埠(預設為 22 號),有利於防火牆環境。
  • 支援多種功能,如檔案上傳(`put`)、下載(`get`)、目錄切換(`cd`, `lcd`)等。

SFTP 與 FTP 比較

SFTP 和 FTP 在檔案傳輸方式和安全性方面存在顯著差異。

  • SFTP: 透過 SSH 加密資料傳輸,因此更安全。使用埠 22,透過單一埠處理所有通訊。
  • FTP: 以明文傳輸資料,安全性較弱。使用埠 21,並且需要額外的埠用於資料傳輸。

主要選項

sftp 類似於 FTP,可以進入互動模式使用,也可以與特定命令一起以非互動模式使用。

1) 執行選項

2) 互動模式內部命令

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`sftp` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

透過 sftp 命令的各種使用範例來學習其功能。

以互動模式連接伺服器

sftp user@server.com

以 `user` 帳戶連接 `server.com`,進入互動模式。

下載檔案

sftp user@server.com
... (連接後)
cd /var/log
get syslog ~

從遠端伺服器的 `/var/log` 目錄下載 `syslog` 檔案到本地的 `~` 目錄。

上傳檔案

sftp user@server.com
... (連接後)
cd /var/www
put /home/user/document.txt

將本地的 `/home/user/document.txt` 檔案上傳到遠端伺服器的 `/var/www` 目錄。

以非互動模式傳輸檔案

sftp user@server.com:/remote/path <<< 'put localfile.txt'

使用 `put` 命令以非互動模式一次性上傳檔案。

安裝

sftp 在大多數 Linux 發行版中,作為 `openssh-client` 套件的一部分,預設已包含。如果已安裝 SSH 客戶端,則無需額外安裝。

Debian/Ubuntu

sudo apt update
sudo apt install -y openssh-client

RHEL/CentOS/Fedora

sudo dnf install -y openssh-clients

提示與注意事項

整理了使用 sftp 命令時需要注意的事項。

提示

  • sftp 和 `scp` 一樣,使用 SSH 認證資訊。因此,可以使用 `~/.ssh/config` 檔案來方便地管理連接設定。
  • 在互動模式下輸入 `help` 可以查看所有內部命令列表。除了 `put`、`get` 之外,還可以使用 `mput`、`mget` 傳輸多個檔案。
  • 當發生網路問題或認證錯誤時,使用 `-v` 選項輸出詳細資訊有助於解決問題。

相關命令

功能上相似或經常一起使用的命令。


相同類別命令