在 Linux 下启动 FTPS Server(FTP over SSL/TLS),常见做法是使用 vsftpd 或 ProFTPD。下面以 vsftpd(最常用) 为例,从安装到启动完整说明。
sudo apt update
sudo apt install vsftpd
sudo yum install vsftpd
# 或
sudo dnf install vsftpd
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.key \
-out /etc/ssl/certs/vsftpd.crt
生产环境建议使用受信任 CA 签发的证书
编辑配置文件:
sudo vim /etc/vsftpd.conf
# 启用 SSL
ssl_enable=YES
# 禁止匿名
anonymous_enable=NO
# 本地用户登录
local_enable=YES
write_enable=YES
# SSL 证书路径
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
# 强制使用 SSL(推荐)
force_local_data_ssl=YES
force_local_logins_ssl=YES
# 允许显式 FTPS(推荐)
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
# 被动模式(云服务器必开)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
sudo systemctl status vsftpd
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo firewall-cmd --add-port=21/tcp --permanent
sudo firewall-cmd --add-port=30000-31000/tcp --permanent
sudo firewall-cmd --reload
或者命令行:
lftp -u user,password ftps://服务器IP
sudo setsebool -P ftp_home_dir on
或关闭 SELinux 测试
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
| 项目 | vsftpd | ProFTPD |
|---|---|---|
| 性能 | 高 | 中 |
| 配置复杂度 | 简单 | 灵活 |
| SSL/TLS | 支持 | 支持 |
| 推荐场景 | 简单 FTPS | 复杂权限 |
如果你愿意,可以告诉我:
我可以给你 完全定制的一套配置。