温馨提示×

如何开启FTPServer加密

小樊
45
2026-07-11 03:55:14
栏目: 网络安全

要开启 FTPServer(FTP over SSL/TLS)加密,通常需要满足两个条件:
1️⃣ 服务器支持并开启 SSL/TLS
2️⃣ 使用 FTP 显式(Explicit)或隐式(Implicit)加密方式

下面按 常见服务器类型 给你详细说明。


一、核心概念先搞清楚

类型 说明
FTP 明文传输(不安全)
FTPS FTP + SSL/TLS(加密)
Explicit FTPS 客户端主动请求加密(推荐,端口 21)
Implicit FTPS 一开始就加密(端口 990,已不推荐)

优先使用 Explicit FTPS


二、FileZilla Server(最常见)

1️⃣ 准备 SSL 证书

可以用自签名证书(测试用):

  • 打开 FileZilla Server Interface
  • EditSettings
  • 选择 FTP over TLS settings
  • 勾选 ✅ Enable FTP over TLS support
  • 点击 Generate new certificate
  • 填写信息后保存 .key.crt

2️⃣ 开启 TLS 设置

FTP over TLS settings 中:

  • ✅ Enable FTP over TLS
  • Allow explicit FTP over TLS
  • 选择生成的证书

3️⃣ 用户设置

  • EditUsers
  • 选择用户
  • 确保未勾选 Force SSL for user login(或按需勾选)

4️⃣ 客户端连接方式

  • 协议:FTP
  • 加密:Use explicit FTP over TLS
  • 端口:21

三、vsftpd(Linux 常见)

1️⃣ 安装 vsftpd

sudo apt install vsftpd

2️⃣ 生成 SSL 证书

sudo openssl req -x509 -nodes -days 365 \
-keyout /etc/ssl/private/vsftpd.key \
-out /etc/ssl/certs/vsftpd.crt

3️⃣ 修改配置文件

编辑:

sudo nano /etc/vsftpd.conf

添加或修改:

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key

4️⃣ 重启服务

sudo systemctl restart vsftpd

5️⃣ 客户端连接

  • 加密方式:TLS
  • 端口:21

四、Windows IIS FTP(FTPS)

1️⃣ 安装 FTP + SSL

  • 服务器管理器 → 添加角色
  • 勾选 FTP Server
  • 勾选 IIS 管理工具

2️⃣ 绑定 SSL 证书

  • IIS 管理器
  • 服务器节点 → Server Certificates
  • 导入或创建证书

3️⃣ FTP SSL 设置

  • FTP 站点 → FTP SSL Settings
  • 选择证书
  • 选择 Allow SSL / Require SSL

五、客户端推荐设置(非常重要)

客户端 设置
FileZilla 加密:显式 TLS
WinSCP 协议:FTP,加密:TLS
FlashFXP 勾选 SSL/TLS

⚠️ 不要混淆 FTPS 和 SFTP

  • FTPS = FTP + SSL
  • SFTP = SSH File Transfer(完全不同)

六、常见问题排查

❌ 连接失败
✅ 检查防火墙是否放行 21 端口
✅ 被动模式(Passive)要配置正确

❌ 证书不受信任
✅ 自签名证书需客户端信任

❌ 数据连接失败
✅ 被动端口范围要开放


七、我可以继续帮你

你可以直接告诉我:

  • ✅ 使用的 FTPServer 类型
  • 操作系统
  • ✅ 是 内网 / 公网
  • ✅ 报错信息

我可以一步一步带你配好 ✅

0