FTP vs SFTP:差異以及您應該使用哪一個
已發表: 2022-05-16大多數用戶不會三思而後行如何連接到互聯網,但如果您是網站所有者,您可能會使用文件傳輸協議 (FTP)。 這是訪問站點服務器的典型和標準方式,儘管您也會看到提到安全文件傳輸協議 (SFTP)。 因此,FTP 與 SFTP 值得進一步討論。
好消息是您通常可以從專用客戶端中選擇所需的協議。 FileZilla、Cyberduck、Transmit 等都讓您選擇連接方式。 您甚至可以開始使用 Secure Shell (SSH),它比 FTP 更接近 SFTP。
在本教程中,我們將討論 FTP 與 SFTP,並分解它們之間的差異。 我們還將快速繞道並討論 SSH 也適合的地方。 劇透警告:您應該默認使用 SFTP 或 SSH,但您會在整個帖子中找出原因。
目錄
- 傳輸協議入門
- FTP
- SFTP
- SSH 如何融入其中
- 不要混淆 SFTP 和 FTPS
- SFTP 有何不同(更深入)
- FTP 與 SFTP:優點和缺點
- 包起來
傳輸協議入門
簡而言之,傳輸協議促進了兩台計算機在網絡上的連接和文件傳輸。 例如,超文本傳輸協議 (HTTP) 是服務網站的核心協議。

您將使用傳輸協議的日常場景是文件下載。 您的計算機將連接到遠程服務器,建立該連接,並將文件移動到您的計算機。 傳輸協議是實現這一點的底層代碼和技術。
這些傳輸協議也保證了文件傳輸的成功。 然而,隨著網絡的發展,為了滿足現代網絡的需求,出現了更多此類協議。 雖然我們將在這篇文章中討論 FTP 與 SFTP,但您也會看到對其他協議的各種提及。
FTP 與 SFTP:介紹兩種協議

鑑於 FTP 和 SFTP 促進了數據傳輸,您會發現它們之間有許多相似之處。 這可能會增加混亂,因為這些類似的功能並不能說明完整的故事。 例如:
- 這兩種協議都允許您使用專用客戶端(例如 FileZilla 或 Cyberduck)通過熟悉的界面連接到服務器。
- 您可以連接到服務器並瀏覽文件目錄。
- 您可以不受限制地處理文件。 例如,您可以下載、上傳、編輯和無數其他操作。
對於最終用戶而言,FTP 與 SFTP 可以忽略不計,因為協議在核心級別上的工作方式相同。 但是,有一些關鍵和重要的區別需要理解。 接下來我們將對此進行分解。
FTP
FTP是數據傳輸的元老級人物。 它早於互聯網,是第一個允許標準化數據傳輸的網絡協議。
雖然稍後我們將更深入地了解 FTP 與 SFTP 之間的區別,但簡短的版本是 FTP 缺乏安全性:
- 該協議使用兩個通道——命令通道和數據通道——在客戶端和服務器之間傳遞信息。 但是,兩者都沒有提供來自外部“竊聽”的加密。
- 因此,它使用客戶端和服務器之間的直接方法使用傳輸控制協議/互聯網協議 (TCP/IP) 服務傳輸文件。
- FTP 使用端口 21 連接到不提供任何安全規定的服務器。
一旦你深入了解每個協議的細節,你會發現明顯的相似之處就在於此。 事實上,SFTP 完全是一種不同類型的協議。 讓我們接下來討論這個問題。
SFTP
確實,SFTP 提供了與 FTP 類似的體驗和基本功能集。 然而,這就是相似之處結束的地方。 您也可以將 SFTP 稱為“SSH 文件傳輸協議”,這應該可以讓您了解它的不同之處。
互聯網工程任務組 (IETF) 在 2001 年左右負責開發 SFTP,並基於 SSH。 我們稍後會詳細討論這個問題。 但是,您會注意到 FTP 和 SFTP 在功能方面就像粉筆和奶酪:
- 首先,SFTP 使用 SSH 架構而不是客戶端-服務器模型提供安全和加密作為標準。
- 您將只使用一個通道進行 SFTP 傳輸,並且 SFTP 會在發送前對數據進行加密。
- SFTP 不是直接傳輸方法,而是使用“隧道”。 這混淆了客戶端和服務器之間的連接,以提供更好的安全性。
- SFTP 將使用端口 22 進行傳輸,這(簡而言之)提供了內置的安全性。
總結 SFTP 提供的內容的簡短方法是“安全性”。 但是,SSH 也值得一提,因為它是 SFTP(和其他類似協議)的核心。

SSH 如何融入其中
SSH 是一種加密協議,可通過不安全的網絡提供加密。 這是一個 90 年代中期的工具,由於它的架構,它至今仍然屹立不倒。 它最初的成功引起了 IETF 的注意,它提供了協議的標準化,然後在它之上開發了 SFTP。
然而,在 FTP 出現和 SFTP 發布之間,用戶仍然需要在線加密數據。 因此,您還會發現另一種協議——安全文件傳輸協議 (FTPS)。 讓我們解開困惑。
不要混淆 SFTP 和 FTPS
混入 FTP 和 SFTP 的歷史,我們也有 FTPS。 你也可以稱之為 FTP-SSL,它比其他協議更接近 FTP。
簡而言之,這使用傳輸層安全性 (TLS) 或安全套接字層 (SSL) 連接來加密數據。 它提供與使用 SSL 相同的好處,例如需要認證,以及來自許多 Internet 通信框架的內置支持。
對於大多數應用程序,您不會想使用 FTPS,因為 SFTP 使用起來同樣簡單,並且提供了更好的加密。
SFTP 有何不同(更深入)
SFTP 可以通過三種主要方式提供比其他協議(尤其是 FTP)更好的體驗(特別是與安全性相關)。
- 加密。 除了從加密數據中獲得的安全性之外,您還需要這樣做以遵守一般數據隱私指令。 例如,美國的健康保險流通與責任法案 (HIPAA) 可能意味著您需要使用 SFTP 作為標準。
- 漏洞。 FTP 提供了幾種數據可能落入 SFTP 最小化的壞人之手的方式。 例如,當您使用 SFTP 時,人為錯誤、數據攔截以及您通過使用 SSH 主機密鑰獲得的驗證都有助於更好的“安全文化”。
- 防火牆安全。 在某些情況下,您可能會發現防火牆會因為您需要建立的連接數量而阻止 FTP 傳輸。 但是,由於 SFTP 的單通道方法,您可以通過不太複雜的配置來獲得計算機的安全性。
然而,儘管 SFTP 提供了更高的安全性和更少的缺點,但 FTP 仍然有其優點。 在下一節中,我們將更詳細地研究兩者的正面和負面。
FTP 與 SFTP:優點和缺點
由於其簡單性,FTP 確實代表了一種通過 Web 傳輸文件的直接方式。 更重要的是,因為它在加密方面更加開放,所以您在傳輸文件方面有更多的靈活性:
- 例如,您可以在客戶端中暫停、恢復和安排數據傳輸。
- 對於較大的文件,您沒有大小限制。
- 您可以在 FTP 客戶端中使用腳本來提高效率。
但是,我們已經知道使用 FTP 的缺點,因為它不安全,合規性可能是一個癥結所在,而且這些連接會對您的防火牆造成嚴重破壞。
相比之下,SFTP 也提供了一系列好處:
- 您還可以傳輸更大的文件,在某些情況下,您可能更喜歡使用 SFTP 而非其他類型的文件傳輸系統。
- 您在基於 SFTP 的設置中所做的一切都是安全和加密的。 當然,密碼或文件數據等純文本也可以通過 SFTP 進行加密。
- 您可以選擇與客戶端和其他 SFTP 服務器進行通信,以獲得更大的可訪問性。
- 一般來說,您使用 SFTP 的風險較低,因為您正在“鎖定”數據。
即便如此,SFTP 確實有一些負面影響。 例如,SSH 密鑰很難維護,尤其是對於新用戶。 這是一把雙刃劍,因為您可能會在不經意間將用戶拒之門外,同時您也會對惡意用戶這樣做。
是否應該使用 FTP 與 SFTP 連接到您的站點
快速回答是,您幾乎應該始終使用 SFTP 連接到您網站的服務器。 這是因為它的安全和加密級別和實現是現代 Web 使用的基本標準。
相反,FTP 並不安全。 它的設計沒有考慮任何類型的安全性,因為在它到達的時候,並沒有必要。 您可以在此處與 WordPress 進行類比。
當然,該平台毫無疑問是安全的。 但是,FTP 與 SFTP 類似於普通的 WordPress 安裝。 主題和插件增強了平台的功能,而 SFTP 則利用了 FTP 的優點,並對其進行了重新構想,以提供一種通過 Web 傳輸文件的強大方式。
總體而言,FTP 與 SFTP 是兩種不同協議的比較,儘管名稱和頂級功能相似。
包起來
傳輸協議標準化了我們在很多情況下連接到互聯網的方式。 但是,該技術的發展與其他技術非常相似。 因此,我們有幾種不同的協議可供使用,但並非所有協議都提供一流的安全性。
FTP 與 SFTP 之間的主要區別在於名稱。 後者更安全,是我們推薦的默認設置。 如果您當前僅使用 FTP(並且您可以在 FileZilla、Cyberduck 或您選擇的客戶端中進行檢查),您將需要進行切換並加密您的數據。
您對 FTP 與 SFTP 有任何疑問嗎? 如果是這樣,請在下面的評論部分告訴我們!