SFTP 是一種網絡協議,可通過安全數據流訪問、傳輸和管理您的數據。SFTP 代表 SSH 文件傳輸協議,與普通的 FTP 技術不同,它通過安全網絡將您的設備連接到遠程主機和服務器。SSH、Secure Shell 或 Secure Socket Shell為遠程系統創建安全隧道,以便通過開放網絡(如 Internet)進行通信。實施 SSH 協議的實用程序提供強密碼和公鑰身份驗證以及加密數據訪問。
因此,通過 SFTP 傳輸的數據是端到端加密的,在傳輸過程中不能被重定向、嗅探或竊取。只能通過命令行界面通過 SSH 連接到遠程服務器。然而,盡管 SFTP 基于 SSH,但某些圖形用戶界面客戶端也支持 SFTP。
常見的 SFTP 用例
SSH 文件傳輸協議的主要用途是通過本地計算機和互聯網管理遠程主機(最有可能是云托管服務器)上的數據。
這樣你就可以:
- 將文件傳輸到遠程系統。? 在遠程機器上創建 SSH 服務器,您可以從其他計算機訪問您的數據。
- 管理遠程計算機網絡。網絡管理員使用 SFTP 跨服務器連接,管理一個網絡中的多個終端,執行上傳和備份系統數據。
- 共享敏感的登錄信息。通過 SFTP 而非不安全的電子郵件和 FTP 共享 ID 和登錄密碼。
- 通過云/互聯網共享、傳輸或存儲客戶數據。不要將敏感數據存儲在 DMZ 中或使用電子郵件和 FTP 進行傳輸。使用 SFTP 以正確的權限保護您的所有通信。
- 上傳、檢索和管理從本地到云存儲的文件和腳本。
- 切換文件遠程托管服務器或虛擬專用服務器。VPS 上的數據存儲可以說比共享主機更安全。但是,通過開放網絡遷移到另一個提供商會使您的文件暴露于可能的數據竊取之下。
如何在 Windows 上使用 SFTP 上傳文件
PuTTY 是世界上最流行的 SSH 客戶端應用程序之一,默認情況下,它帶有一個用于建立 SFTP 連接的模塊。它叫做 PSFTP,Windows 用戶可以在開始菜單的 PuTTY 文件夾下找到它。

如果您過去使用過 PuTTY,PSFTP 將自動嘗試使用您的用戶名連接到您的服務器。如果沒有,您可以使用open命令和user@hostname約定建立連接。
使用 PuTTY SFTP 使用 SFTP 上傳文件
分別對遠程目錄和本地目錄使用cd和lcd命令,從命令窗口瀏覽存儲目錄。分別對遠程和本地系統使用dir和!dir命令列出當前工作目錄的內容。

使用以下步驟將文件從本地計算機上傳到遠程服務器:
- 使用lcd命令導航到正確的本地目錄。
- 使用cd命令導航到要將文件復制到的遠程目錄。
- 使用put [file name]將文件上傳到遠程服務器
要將文件從遠程服務器下載到本地計算機,請在導航到正確的本地和遠程目錄后使用get [file name]命令。
運行幫助命令以查看用于導航本地和遠程系統的其他代碼。

從其他系統使用 SFTP 上傳文件
MacOS 和 Linux 都可以建立到遠程服務器的 SFTP 連接,而無需額外的客戶端。為此,打開終端并輸入:
$ sftp [用戶名]@[主機名]
您需要輸入您的帳戶密碼,之后您就可以使用標準的 ftp 命令管理您的文件。
使用 FileZilla 上傳文件
如果您不習慣使用命令行界面,您很可能希望使用基于 GUI 的客戶端,例如 FileZilla。幸運的是,它是完全免費和開源的,并且可以在 Windows、Linux 和 MacOS 上使用。
將 SFTP 與 FileZilla 結合使用與將其用于常規的、不太安全的文件傳輸協議版本沒有太大區別。您唯一需要做的就是在主機名前面輸入sftp://并輸入正確的端口(開箱即用,SFTP 使用默認的 SSH 端口(端口 22),但一些提供商出于安全原因更改它)。例如,如果您嘗試連接到 ScalaHosting 托管的 VPS 服務器,則需要在此處輸入的內容。

結論
正確的 SFTP 客戶端將為您提供比常規 FTP 或 SCP 實用程序更寬的帶寬,這意味著無限的文件大小和更高的效率。除了增加的安全性,SFTP 工具還允許無限連接到單個服務器,通過同時和即時的數據訪問提高您的業務的可擴展性。