温馨提示×

ubuntu ftpserver如何加密

小樊
44
2026-07-07 08:31:07
栏目: 网络安全

在 Ubuntu 上搭建 加密的 FTP 服务器,通常有两种主流方案:

  1. FTPS(FTP over SSL/TLS) ✅ 推荐
  2. SFTP(SSH File Transfer Protocol) ✅ 更安全、更简单

下面分别说明,并给出推荐方案。


一、推荐方案:使用 SFTP(最安全、最简单)

SFTP ≠ FTP + SSL
SFTP 是基于 SSH 的文件传输协议,天然加密,不需要额外证书。

1️⃣ 安装 OpenSSH Server

sudo apt update
sudo apt install openssh-server

2️⃣ 启动 SSH 服务

sudo systemctl enable ssh
sudo systemctl start ssh

3️⃣ 使用 SFTP

客户端连接方式:

sftp user@服务器IP

或使用工具:

  • FileZilla
  • WinSCP
  • Cyberduck

优点

  • 自动加密
  • 不需要额外证书
  • 配置简单

默认端口

  • 22

二、FTPS(FTP + SSL/TLS)方案(vsftpd)

如果你必须使用 FTP 协议(如业务要求),可以使用 vsftpd + SSL

1️⃣ 安装 vsftpd

sudo apt install vsftpd

2️⃣ 生成 SSL 证书

自签名证书(测试用)

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

3️⃣ 配置 vsftpd

编辑配置文件:

sudo nano /etc/vsftpd.conf

关键配置:

listen=YES
listen_ipv6=NO

anonymous_enable=NO
local_enable=YES
write_enable=YES

chroot_local_user=YES

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

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

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

4️⃣ 重启服务

sudo systemctl restart vsftpd

5️⃣ 客户端连接

  • 协议:FTP
  • 加密方式:TLS / SSL
  • 端口:21

⚠️ 注意:

  • 被动模式(passive mode)可能需要额外配置防火墙
  • 自签名证书会被客户端警告

三、FTPS vs SFTP 对比

项目 SFTP FTPS
加密方式 SSH SSL/TLS
端口 22 21 + 随机端口
配置复杂度 简单 复杂
防火墙友好
推荐程度 ⭐⭐⭐⭐⭐ ⭐⭐

四、推荐选择 ✅

新系统 / 通用需求 → SFTP
必须用 FTP 协议 → FTPS(vsftpd + SSL)


如果你愿意,可以告诉我:

  • 公网服务器还是内网
  • 是否需要 多用户 / 权限隔离
  • 是否需要 只允许特定目录

我可以给你一套完整可用的配置方案

0