首页/网络/常用端口速查/989 ftps-data FTPS 数据通道
700-1023 系统端口92 条

989 ftps-data FTPS 数据通道

ftps-data:FTP 数据通道的 TLS 版本(FTPS),与 990 控制通道配套,文件内容走这条加密连接。

常用端口速查网络更新于 2026-10-13

FTPS 数据通道与 989 端口

989 是 FTPS(FTP over TLS)的数据通道端口,与 990 的控制通道配套:990 负责登录与命令交互,989 承载实际的文件内容传输,整条链路都在 TLS 保护下。隐式模式下服务端在 990 上直接协商 TLS,显式模式则先在 990 上做 AUTH TLS 再升级加密;两种模式的被动数据连接都会另开端口,防火墙需要成组规划。

基本信息

服务ftps-data(FTP 数据通道的 TLS 版本)
端口/协议TCP 989
配套端口990 为 FTPS 控制通道,20 与 21 为明文 FTP
模式差异隐式模式连接即 TLS,显式模式用 AUTH TLS 升级
权限要求FTP 业务用户;服务端配置需系统权限
安全等级仅必要来源开放,优先用 SFTP 替代

典型使用场景

  • 加密文件交换:在合规要求下替代明文 FTP
  • 老系统对接:客户端支持 FTPS 但暂不支持 SFTP
  • 主机商场景:为面板用户提供加密的建站文件传输
  • 批量传输:脚本化上传下载并保留加密链路
  • 排障对比:把控制通道与数据通道分开验证

验证与观察

验证与观察
curl -v --ftp-ssl --user alice:secret ftp://ftp.example.com:990/   # 显式 FTPS 登录并列目录
lftp -u alice,secret -e 'set ftp:ssl-force true; ls; bye' ftp.example.com:990
sudo ss -lntp | grep -E ':(989|990) '                              # 核对监听端口
sudo tcpdump -n 'tcp port 989 and host 10.0.2.5'                   # 确认数据通道确实加密
# 被动模式还需放行服务端配置的数据端口段

端口与模式对照

端口角色说明
990FTPS 控制通道登录与命令,隐式模式下直接是 TLS
989FTPS 数据通道文件内容传输的加密连接
20 与 21明文 FTP传统端口,不建议继续使用
动态段被动数据端口由服务端配置,需一并放行

运维要点

  • 被动数据端口段尽量收窄,并把范围写进服务端配置与防火墙规则
  • 证书续期要纳入例行检查,过期后所有客户端会同时连不上
  • 能用 SFTP 就迁移,只保留单一端口,运维复杂度显著下降
  • 把账号权限与目录范围一并配置,避免登录即可遍历整个文件系统
  • 传输日志保留时间满足审计要求,必要时可还原文件流转过程
不少客户端默认走显式模式并复用控制连接端口,989 是否被实际使用取决于协商出的端口策略。排查时以抓包看到的数据连接为准,而不是只看端口是否在听。
FTPS 加密的是链路而不是协议本身,被动模式下数据端口段配置过宽会扩大暴露面。更彻底的方案是迁移到 SFTP,只保留一个端口。

易错点

  • 只放行 989 与 990 不配被动端口段:登录成功但传输失败,典型表现是目录列表卡住
  • 证书与域名不匹配:部分客户端直接拒绝连接,日志里只看到通用的握手失败
  • 把 FTPS 与 SFTP 混为一谈:端口与客户端配置都不同,排查时容易用错工具
  • 沿用明文 FTP 脚本只改端口:缺少 TLS 参数,实际仍走明文或直接报错

数据来源与参考

  • IANA 端口注册表
  • FTPS 体系文档(RFC 4217 等)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌