在 CentOS 上配置 FTPS(FTP over SSL/TLS),通常推荐使用 vsftpd(Very Secure FTP Daemon)。下面以 CentOS 7 / 8 / Stream 为例,说明从安装到配置 FTPS 的完整步骤。
yum install -y vsftpd
# 或 CentOS 8 / Stream
dnf install -y vsftpd
启动并设置开机自启:
systemctl enable vsftpd
systemctl start vsftpd
openssl req -x509 -nodes -days 365 \
-keyout /etc/vsftpd/vsftpd.pem \
-out /etc/vsftpd/vsftpd.pem
按提示填写信息即可。
将你的 cert.pem 和 key.pem 放到:
/etc/vsftpd/
编辑配置文件:
vim /etc/vsftpd/vsftpd.conf
# 启用 FTP
listen=YES
listen_ipv6=NO
# 禁止匿名
anonymous_enable=NO
local_enable=YES
write_enable=YES
# 被动模式(云服务器必须)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的服务器公网IP
# SSL / TLS
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/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
# 用户限制
chroot_local_user=YES
allow_writeable_chroot=YES
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=30000-31000/tcp
firewall-cmd --reload
setsebool -P ftpd_full_access on
如仍报错:
getsebool -a | grep ftp
useradd ftpuser
passwd ftpuser
限制只能通过 FTP 登录(可选):
usermod -s /sbin/nologin ftpuser
FTP over TLSpasv_address 是否填写正确如果对环境安全性要求高,建议:
如果你告诉我:
我可以给你一套定制化配置。