在 CentOS 上使用 FileZilla 进行 SSL 加密传输
一、方案总览
二、方案一 FTPS(vsftpd + TLS)
yum install -y vsftpdmkdir -p /etc/ssl/private
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 365
chmod 600 /etc/ssl/private/vsftpd.pem
cd /etc/pki/tls/certs
openssl req -x509 -nodes -newkey rsa:2048 -keyout vsftpd.pem -out vsftpd.pem -days 365
/etc/vsftpd/vsftpd.conf,确保包含(如已有请调整):# 启用 SSL/TLS
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
# 证书与密钥(路径与生成步骤保持一致)
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
# 仅启用 TLS,禁用不安全协议
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
# 其他常用安全项
require_ssl_reuse=NO
ssl_ciphers=HIGH
systemctl restart vsftpd && systemctl enable vsftpdfirewall-cmd --permanent --add-port=990/tcp
firewall-cmd --permanent --add-port=40000-50000/tcp
firewall-cmd --reload
三、方案二 SFTP(基于 SSH)
yum install -y openssh-server && systemctl enable --now sshdfirewall-cmd --permanent --add-port=22/tcp && firewall-cmd --reload~/.ssh/authorized_keys四、常见问题与排错
连接被拒绝或“Service not available”:命令行 ftp 不支持 TLS,请使用 FileZilla 等支持 SSL/TLS 的客户端。
证书不受信任:首次连接需核对 颁发者/主机名/有效期 并选择信任;生产环境建议使用 受信任 CA 签发的证书 以避免反复确认。
被动模式失败:确认防火墙已放行 被动端口范围(如 40000–50000/tcp),并在 vsftpd 中正确配置 pasv_min_port/pasv_max_port 与之匹配。
字符编码/中文乱码:在 FileZilla 站点设置中启用 UTF-8,并根据网络环境尝试 主动/被动模式 切换。
五、安全与优化建议
pasv_min_port/pasv_max_port 并固定放行,便于防火墙策略管理。