FTPS 是什么
它是在传统文件传输协议之上叠加加密层:显式方式在标准端口上先明文打招呼、再协商升级,隐式方式则是一连上就握手(RFC 4217)。它与基于 SSH 的文件传输完全无关,只是名字相近,最容易被混为一谈。
两个通道都要保护
控制通道与数据通道是分开的。只对控制通道加密、数据通道仍然明文,文件内容依旧暴露在链路上——这是配置中最常见也最危险的半吊子做法。
基本信息
| 显式方式 | 在标准端口上通过升级命令协商加密 |
|---|---|
| 隐式方式 | 在另一个端口上连接即进行握手 |
| 规范 | RFC 4217 与 RFC 2228 |
| 关键设置 | 数据通道也要显式设置为私有保护级别 |
典型使用场景
- 合规要求必须加密的传统文件传输场景
- 对接只支持这类协议的老系统
- 排查握手失败与证书信任问题
- 排查「能登录但文件传不动」
显式升级流程
显式升级流程
C: AUTH TLS
S: 234 AUTH TLS successful
(进行加密握手)
C: PBSZ 0
S: 200 PBSZ=0
C: PROT P
S: 200 Protection set to Private
(此后数据连接同样加密)两种方式对比
| 类型 | 端口 | 触发方式 |
|---|---|---|
| 显式加密 | 标准控制端口 | 先用升级命令协商,再进入加密 |
| 隐式加密 | 约定的专用端口 | 连接建立即开始握手 |
| 基于 SSH 的方案 | 单端口 | 不是这个协议族,需单独配置与排障 |
只做控制通道升级而不设置数据保护级别:控制通道加密了,数据通道仍然明文,文件内容照样暴露。
自签证书场景需要客户端手工信任:先分清是握手失败还是证书校验失败,别急着改服务端配置。
被动模式下数据连接由客户端发起:防火墙要放行服务端约定的端口范围,否则会出现「登录与列目录正常、传输卡住」的分裂现象。