Ubuntu下配置FileZilla的SSL加密
一 准备与安装
- 在Ubuntu上安装FileZilla客户端:sudo apt update && sudo apt install filezilla。
- 加密方式有两种:
- FTPS(FTP over SSL/TLS):传统FTP之上加TLS,常用端口为21(显式)或990(隐式)。
- SFTP(SSH File Transfer Protocol):基于SSH,默认端口22,不属于SSL/TLS,但同样安全,且在Linux环境更推荐。若你的服务器支持,优先用SFTP。
二 配置FTPS连接(FTP over SSL/TLS)
- 打开FileZilla → 文件 → 站点管理器 → 新建站点,填写:
- 主机:服务器IP或域名
- 端口:21(若服务器要求隐式FTPS则用990)
- 协议:FTP - 文件传输协议
- 加密:选择要求显式FTP over TLS(常见)或要求隐式FTP over TLS(需服务器支持)
- 登录类型:正常(或匿名)
- 输入用户名/密码
- 可选全局设置:编辑 → 设置 → 传输 → 安全,勾选启用FTP over TLS支持(FTPS);如有自签名或私有CA证书,可在证书管理中导入。
- 连接与验证:点击连接,首次会进行TLS握手;若使用自签名证书,确认指纹/信息后选择接受并保存;连接成功后状态栏应显示已加密/SSL/TLS已启用。
三 配置SFTP连接(SSH)
- 站点管理器 → 新建站点:
- 协议:SFTP - SSH文件传输协议
- 主机:服务器IP或域名
- 端口:22
- 登录类型:正常(密码)或密钥文件(推荐,选择本地私钥如id_rsa)
- 连接即可,SFTP默认全程加密,无需额外SSL/TLS选项。
四 服务器侧与网络要点(以vsftpd为例)
- 安装并启用TLS:sudo apt install vsftpd;编辑**/etc/vsftpd.conf**
- 启用:ssl_enable=YES
- 强制加密:force_local_logins_ssl=YES,force_local_data_ssl=YES
- 协议与套件:ssl_tlsv1=YES,ssl_sslv2=NO,ssl_sslv3=NO
- 证书路径(Let’s Encrypt示例):
- rsa_cert_file=/etc/letsencrypt/live/yourdomain.com/fullchain.pem
- rsa_private_key_file=/etc/letsencrypt/live/yourdomain.com/privkey.pem
- 重启服务:sudo systemctl restart vsftpd
- 防火墙与被动模式:
- 放行端口:sudo ufw allow 21/tcp;若用隐式FTPS,放行990/tcp;被动模式数据端口范围也需放行(在vsftpd配置中设定pasv_min_port/pasv_max_port并在防火墙放行对应范围)。
- 在FileZilla站点管理器的“传输设置”中启用被动模式(PASV),可避免多数NAT/防火墙环境下的数据连接问题。
五 常见问题与排查
- 证书不受信任:自签名或未知CA会触发告警,确认证书指纹/颁发者后选择接受并保存;必要时在FileZilla的证书管理中导入服务器证书以消除重复提示。
- 连接超时/数据通道失败:优先启用被动模式;确保云服务器安全组与本地防火墙放行21(及隐式990/被动端口范围)。