FTP、FTPS 与 SFTP 是什么?

FTP

FTP 也就是文件传输协议(英文全称 File Transfer Protocol),属于应用层协议,专门用于在网络环境中实现客户端与服务器之间的文件交换。一套完整的 FTP 体系由 FTP 服务端和 FTP 客户端共同构成,用户既能把本地文件经由 FTP 协议推送到远程服务器,也能把服务器上的文件拉取到本地。它算得上是目前仍在使用的最早期的文件传输协议之一,是一种相当高效的文件搬运手段。

FTP 的运作机制

FTP 通信需要服务端和客户端双方在网络中建立联络。连接建立后会产生两条独立的通信链路:一条叫做命令链路,负责发送和接收操作指令;另一条叫做数据链路,专门用于双方之间的数据交换。

利用 FTP 传送文件时,用户必须向 FTP 服务端提交身份凭证才能获得传输权限。当然部分公开的 FTP 服务端或许无需凭证就能访问其中的资源,但无法确保数据在传输过程中的安全。任何未经过加密的公共网络上发送数据都极其危险,因此为了保障传输过程中的数据安全,从 FTP 演变出了下面两种协议:FTPS 和 SFTP。

FTPS

接着查了一下资料,发现 FTPS 分为 FTPS 隐式 SSL 和 FTPS 显式 SSL 两种运作方式,二者均采用 SSL 进行加密处理。那它们之间有何不同呢?

FTPS 隐式 SSL: 这种方式一般在端口 990 上运作。在此模式下,所有数据交换都必须先在客户端与服务端之间搭建 SSL 会话,而且服务端会拒绝一切不采用 SSL 的连接请求。

FTPS 显式 SSL: 显式 SSL 模式下,服务端可以同时兼容 FTP 和 FTPS 会话。会话开启前,客户端需先与 FTP 服务端建立一条未加密的连接,并在提交用户凭证之前发送 AUTH TLS 或 AUTH SSL 指令,请求服务端把命令链路切换为 SSL 加密链路。加密链路搭建成功后再把用户凭证发给 FTP 服务端,这样就能确保整个会话期间的所有指令都经由 SSL 链路自动加密。

给大家做个简洁的归纳。启用隐式模式时,FTP 的默认端口会变更为 TCP/990,服务端自动建立加密连接,同时要求客户端也必须支持加密连接方式,也就是通过 SSL 来完成连接。启用显式模式时,连接方式和默认端口与普通 FTP 保持一致,但需要通过 AUTH SSL/TLS 类指令激活加密连接后才能正常传送数据。

SFTP

最后再来了解一下 SFTP。SFTP 是 Secure File Transfer Protocol 的缩写,中文名为安全文件传送协议。

如果说 FTPS 是在 FTP 协议基础上叠加了一层 SSL 加密,那么 SFTP 则是完全基于 SSH(安全外壳)网络协议的产物,与前面提到的 FTP 有本质区别。SFTP 不采用独立的命令链路和数据链路,而是把数据和指令全部通过单一连接,以特殊格式的数据包方式进行传送。

SFTP 提供了两种身份验证方式:

第一种与 FTP 类似,连接时仅需验证用户 ID 和密码即可。但与 FTP 不同的是,这些凭证是经过加密传输的,这也是 SFTP 最核心的安全优势。

第二种是除了密码之外,还能借助 SSH 密钥来完成验证并通过 SFTP 协议建立连接。

弄清楚这几种协议之后,使用 FTP 客户端工具时就更加得心应手了,可以依据实际需要切换协议和加密方式,不必再为看不懂某项设置而发愁。

不过,新的困惑又冒了出来——传输设置里还有主动和被动两种模式,这又代表什么呢?于是又打开了搜索引擎……

FTP 软件的主动模式与被动模式有何不同

主动模式

通常 FTP 的默认工作方式就是主动模式,也叫 port 模式。

它通过两个步骤来完成工作:

第一步,客户端上的随机端口与服务端的 FTP 端口 21 建立命令链路,客户端发送 PORT 指令,指定服务端连接到客户端的某个端口,并据此建立数据链路。

第二步,服务端从端口 20 连接到客户端为数据链路指定的那个端口。连接建立后,就可以通过这些端口完成文件传送。

被动模式

在传输方式选项中,也可以手动切换为被动传输模式。在该模式下,用户端进行文件传输时,会先通过随机端口 A 连接到服务端的端口 21,并发出 PASV 指令建立命令链路,通知服务端此次采用被动方式连接。随后服务端会开启一个随机端口用于数据传送,而客户端则通过与发出指令的端口不同的随机端口 B 建立数据链路,从而实现文件传输。

被动模式与主动模式的核心差异在于谁来发起数据连接。主动模式下,客户端在命令链路建立完成后,由服务端主动发起与客户端的数据连接。而被动模式下,命令链路建立之后,改由客户端主动发起与服务端的数据连接。

正因为这个差异,两者各有优劣。比如主动模式更便于管理 FTP 服务端,因为只需开放 21 端口的入站和 20 端口的出站即可。但由于服务端连接的是客户端的随机端口,客户端可能会触发防火墙规则,甚至直接被防火墙阻断。反过来,被动模式则更有利于管理客户端一侧。

没想到一个看上去很简单的文件存储工具竟然有这么多分类和差别,不同模式、不同方式都能匹配不同的使用场景。看来以后使用工具时多少了解一些背后的原理,确实能让操作更加顺畅、更加省心。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2986.html

Like (1)
Previous 2026年6月22日
Next 2026年6月23日

相关推荐

  • cpu核数是什么意思

    CPU是什么意思?CPU是日常生活中很常见的硬件设备,台式电脑、笔记本电脑、手机、服务器中都必须要有CPU,CPU核数即一个CPU由多少个核心组成,核心数越多,代表这个CPU的运转…

    2026年5月22日
    0
  • 如何在 Linux 服务器上部署 OpenClaw:运行自主 AI 代理的详细指南

    大多数使用 AI 工具的人都习惯了一种特定模式:输入内容,工具给出响应,然后就停止运行。除非再次发起询问,否则它不会有任何动作。OpenClaw 彻底打破了这种模式。它是一款可自行…

    2026年4月17日
    0
  • web应用渗透测试流程

    对于web应用的渗透测试,大致可分为三个阶段:信息收集、漏洞发现以及漏洞利用。在实践过程中需要进一步明细测试的流程,以下通过9个阶段来描述渗透测试的整个流程: 1.明确目标 1)确…

    2026年5月30日
    0
  • http和https的区别及优缺点

    你有没有注意到,有些网站的网址开头是http://,有些则是https://? 虽然看起来只差了一个「s」,但它们的安全性和运作方式却完全不同。 什么是 HTTP? http 的定…

    2026年5月13日
    0
  • 什么是 Node.js?一文读懂其优势与不足

    在 Web 开发领域,JavaScript 长期占据客户端编程语言的主流地位。它的价值早已不局限于前端交互,在跨平台应用开发方面同样用途广泛。React Native、PhoneG…

    2026年4月20日
    0
  • DDoS分布式拒绝服务攻击种类

    网络新闻中总能频繁看到各类大型平台遭遇DDoS攻击的相关报道,这类攻击会直接造成网站宕机、页面瘫痪,用户无法正常浏览和使用平台内容。当下网络环境中,主流的DDoS攻击方式主要有以下…

    2026年5月27日
    0
  • 网站SSL安全加密安装常见问题及解决方法

    在用户需求日益提高的当下,如果您的网站尚未启用SSL安全证书,就难以跟上时代步伐。 但对于企业来说,选购服务器和域名已经足够头疼,更遑论了解SSL安全证书,自行安装可能会遇到一些小…

    2026年4月1日
    0
  • 高防ip是什么?

    高防 IP 属于一项付费增值服务,主要用于解决互联网服务器遭遇大流量 DDoS 攻击后服务中断的问题。用户配置该 IP 后,可把攻击流量导向高防节点,保障源服务器平稳运行。该服务无…

    2026年5月27日
    0
  • DNS 是什么? 为什么网站一定要有 DNS 服务器?

    今天余初云带你一次看懂 DNS 是什么、DNS 如何运作、DNS 服务器种类与必备 DNS 纪录,并教你为什么网站一定要正确设定 DNS,避免网站打不开、无法登入、API 中断等高…

    2026年3月30日
    0
  • 什么是 SSH?理解 SSH 及其加密技术

    远程连接服务器这件事,在没有加密的年代风险极高。用户名、密码、每一条执行的命令,全部明文跑在网络上,同一局域网里的人抓个包就能看清楚。Telnet 和 Rlogin 就是那时候的主…

    2026年4月14日
    0