在 Ubuntu 系统上搭建 FTPS(即 FTP over SSL/TLS 加密传输),可确保客户端与服务器间的数据不再明文传输。实际部署时,只需按以下步骤操作即可顺利完成。

1. 安装 vsftpd 服务
首先,通过包管理器安装 vsftpd——这是经典且稳定的 FTP 服务器软件,在 Ubuntu 上广泛使用。
sudo apt updatesudo apt install vsftpd2. 配置 vsftpd 参数
接着,编辑主配置文件 /etc/vsftpd.conf。
sudo nano /etc/vsftpd.conf打开后,添加或修改以下关键配置项,每一项都承担特定功能,请勿遗漏。
# 启用SSL/TLSssl_enable=YES# 强制使用SSL/TLSforce_local_data_ssl=YESforce_local_logins_ssl=YES# 使用显式SSL/TLSssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NO# 证书和密钥文件路径rsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pem# 允许匿名用户登录(如果需要)anonymous_enable=NO# 用户列表userlist_enable=YESuserlist_file=/etc/vsftpd.userlistuserlist_deny=NO3. 生成 SSL 证书与密钥
证书和密钥是加密传输的基础。若尚未准备,可使用 openssl 快速创建自签名证书。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem按提示填写基本信息即可,无需过分严谨。
4. 重启 vsftpd 服务
配置修改及证书生成后,务必重启服务使变更生效。
sudo systemctl restart vsftpd5. 开放防火墙端口
防火墙方面需开放必要端口——FTPS 默认使用 21 端口(控制连接),990 端口用于隐式 TLS。若使用 ufw,可执行以下命令。
sudo ufw allow 21/tcpsudo ufw allow 990/tcp# FTPS数据连接端口sudo ufw reload6. 测试 FTPS 连接
最后,使用 FTP 客户端(如 FileZilla)进行验证。在 FileZilla 中选择 FTPES - Explicit TLS 协议,填写服务器地址、用户名及密码,点击连接即可成功建立加密传输。
注意事项
- 证书和密钥文件的权限务必设置为 600,防止未授权访问。
- 使用自签名证书时,客户端首次连接会弹出安全警告,选择接受即可继续。
- 生产环境建议使用由正规 CA 签发的证书,避免安全风险。
完成以上流程后,Ubuntu 系统上的 FTPS 加密传输便能稳定运行。
