FTP vs SFTP:差异以及您应该使用哪一个

已发表: 2022-05-16

大多数用户不会三思而后行如何连接到互联网,但如果您是网站所有者,您可能会使用文件传输协议 (FTP)。 这是访问站点服务器的典型和标准方式,尽管您也会看到提到安全文件传输协议 (SFTP)。 因此,FTP 与 SFTP 值得进一步讨论。

好消息是您通常可以从专用客户端中选择所需的协议。 FileZilla、Cyber​​duck、Transmit 等都让您选择连接方式。 您甚至可以开始使用 Secure Shell (SSH),它比 FTP 更接近 SFTP。

在本教程中,我们将讨论 FTP 与 SFTP,并分解它们之间的差异。 我们还将快速绕道并讨论 SSH 也适合的地方。 剧透警告:您应该默认使用 SFTP 或 SSH,但您会在整个帖子中找出原因。

目录

  • 传输协议入门
    • FTP
    • SFTP
    • SSH 如何融入其中
    • 不要混淆 SFTP 和 FTPS
  • SFTP 有何不同(更深入)
  • FTP 与 SFTP:优点和缺点
  • 包起来

传输协议入门

简而言之,传输协议促进了两台计算机在网络上的连接和文件传输。 例如,超文本传输​​协议 (HTTP) 是服务网站的核心协议。

显示网站 HTTPS 认证的浏览器标头。

您将使用传输协议的日常场景是文件下载。 您的计算机将连接到远程服务器,建立该连接,并将文件移动到您的计算机。 传输协议是实现这一点的底层代码和技术。

这些传输协议也保证了文件传输的成功。 然而,随着网络的发展,为了满足现代网络的需求,出现了更多此类协议。 虽然我们将在这篇文章中讨论 FTP 与 SFTP,但您也会看到对其他协议的各种提及。

FTP 与 SFTP:介绍两种协议

Cyber​​duck 应用程序显示来自 SFTP 连接的字段和配置设置。

鉴于 FTP 和 SFTP 促进了数据传输,您会发现它们之间有许多相似之处。 这可能会增加混乱,因为这些类似的功能并不能说明完整的故事。 例如:

  • 这两种协议都允许您使用专用客户端(例如 FileZilla 或 Cyber​​duck)通过熟悉的界面连接到服务器。
  • 您可以连接到服务器并浏览文件目录。
  • 您可以不受限制地处理文件。 例如,您可以下载、上传、编辑和无数其他操作。

对于最终用户而言,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、Cyber​​duck 或您选择的客户端中进行检查),您将需要进行切换并加密您的数据。

您对 FTP 与 SFTP 有任何疑问吗? 如果是这样,请在下面的评论部分告诉我们!