Filezilla在CentOS上如何使用SSL加密传输
导读:在 CentOS 上使用 FileZilla 进行 SSL 加密传输 一、方案总览 使用 FTPS(FTP over SSL/TLS):在 vsftpd 上启用 TLS,FileZilla 作为客户端以 显式 FTP over TLS(端...
在 CentOS 上使用 FileZilla 进行 SSL 加密传输
一、方案总览
- 使用 FTPS(FTP over SSL/TLS):在 vsftpd 上启用 TLS,FileZilla 作为客户端以 显式 FTP over TLS(端口 21) 或 隐式 FTP over TLS(端口 990) 连接。适合必须用 FTP 的场景。
- 使用 SFTP(SSH File Transfer Protocol):基于 SSH,默认端口 22,FileZilla 同样支持。注意:FileZilla Server 不支持 SFTP,若你在用 FileZilla Server,请选择 FTPS。
二、方案一 FTPS(vsftpd + TLS)
- 1)安装与证书
- 安装 vsftpd(如未安装):
yum install -y vsftpd - 生成自签名证书(示例有效期 365 天):
- 方式 A(系统证书目录):
mkdir -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 - 方式 B(使用系统 CA 证书目录):
cd /etc/pki/tls/certs openssl req -x509 -nodes -newkey rsa:2048 -keyout vsftpd.pem -out vsftpd.pem -days 365
- 方式 A(系统证书目录):
- 安装 vsftpd(如未安装):
- 2)配置 vsftpd 启用 TLS
- 编辑
/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 vsftpd
- 编辑
- 3)防火墙放行
- 放行 990/tcp(隐式 FTPS) 与 被动模式端口段(示例 40000–50000/tcp):
firewall-cmd --permanent --add-port=990/tcp firewall-cmd --permanent --add-port=40000-50000/tcp firewall-cmd --reload - 说明:显式 FTPS 使用 21/tcp 控制通道,数据通道端口由被动模式范围决定;隐式 FTPS 使用 990/tcp。
- 放行 990/tcp(隐式 FTPS) 与 被动模式端口段(示例 40000–50000/tcp):
- 4)FileZilla 客户端连接
- 打开站点管理器(Site Manager)新建站点:
- 主机:服务器 IP/域名
- 协议:FTP – File Transfer Protocol
- 加密:要求显式 FTP over TLS(推荐);若服务器为隐式,选择 要求隐式 FTP over TLS 并将端口改为 990
- 登录类型:询问密码 或 正常
- 用户:你的 FTP 用户名
- 首次连接会弹出证书指纹,核对信息后选择 始终信任并继续,随后输入密码即可。
- 打开站点管理器(Site Manager)新建站点:
三、方案二 SFTP(基于 SSH)
- 适用:希望更简单、更通用的加密传输;FileZilla 客户端支持 SFTP(端口 22)。
- 服务器侧(CentOS)准备:
- 安装并启用 SSH 服务:
yum install -y openssh-server & & systemctl enable --now sshd - 防火墙放行 22/tcp:
firewall-cmd --permanent --add-port=22/tcp & & firewall-cmd --reload - 如需公钥登录,将客户端公钥放入对应用户的
~/.ssh/authorized_keys
- 安装并启用 SSH 服务:
- FileZilla 客户端连接:
- 协议:SFTP – SSH File Transfer Protocol
- 主机:服务器 IP/域名
- 端口:22
- 登录类型:询问密码 或 正常
- 用户名/密码:SSH 凭据(或私钥,如使用 Pageant/ssh-agent)
四、常见问题与排错
-
连接被拒绝或“Service not available”:命令行
ftp不支持 TLS,请使用 FileZilla 等支持 SSL/TLS 的客户端。 -
证书不受信任:首次连接需核对 颁发者/主机名/有效期 并选择信任;生产环境建议使用 受信任 CA 签发的证书 以避免反复确认。
-
被动模式失败:确认防火墙已放行 被动端口范围(如 40000–50000/tcp),并在 vsftpd 中正确配置
pasv_min_port/pasv_max_port与之匹配。 -
字符编码/中文乱码:在 FileZilla 站点设置中启用 UTF-8,并根据网络环境尝试 主动/被动模式 切换。
五、安全与优化建议
- 禁用明文 FTP:生产环境建议仅开放 FTPS(990/21 + 被动端口段) 或 SFTP(22),并关闭未加密访问。
- 协议与加密套件:仅启用 TLSv1.2+,使用 HIGH 强度套件;禁用 SSLv2/SSLv3/TLSv1.0/TLSv1.1。
- 证书管理:自签名证书适合测试;上线使用 Let’s Encrypt 或企业 CA 签发证书,并在客户端正确部署信任链。
- 被动端口范围:在 vsftpd 中设置
pasv_min_port/pasv_max_port并固定放行,便于防火墙策略管理。 - 性能与稳定:可按网络环境调整 主动/被动模式;在 FileZilla 中启用 断点续传、合理设置 并行传输数 提升大文件传输体验。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Filezilla在CentOS上如何使用SSL加密传输
本文地址: https://pptw.com/jishu/762885.html
