在 Ubuntu 上使用 FileZilla 的 SSL 加密
一 客户端连接步骤
- 安装 FileZilla(若尚未安装):sudo apt update && sudo apt install filezilla。打开后进入菜单:文件 → 站点管理器(Ctrl+S)。新建站点,填写主机、端口、用户名。关键设置:协议选择FTP – File Transfer Protocol,加密选择要求显式 FTP over TLS(FTPES)(若服务器明确提供“隐式 FTPS”端口,则选择“要求隐式 FTP over TLS”);登录类型选询问密码或正常登录。首次连接会弹出证书指纹确认,核对无误后接受并保存。连接成功后,状态栏会显示TLS/SSL已启用。
二 服务器端启用 SSL 的前提配置
- 以常见的 vsftpd 为例:安装 sudo apt install vsftpd;生成自签名证书(同时包含私钥)sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem;编辑 /etc/vsftpd.conf,启用并强制加密: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/ssl/private/vsftpd.pem、rsa_private_key_file=/etc/ssl/private/vsftpd.pem;如需被动模式,设置 pasv_enable=YES 与端口范围(如 pasv_min_port=40000、pasv_max_port=50000);重启服务 sudo systemctl restart vsftpd;防火墙放行:sudo ufw allow 21/tcp、sudo ufw allow 990/tcp,以及被动端口范围(如 sudo ufw allow 40000:50000/tcp)。上述配置可确保客户端以FTPES方式安全连接。
三 常见问题与排查
- 使用普通 ftp 命令连接被拒并提示“Login failed. 421 Service not available, remote server has closed connection”,说明服务器要求加密,应使用支持 SSL/TLS 的客户端(如 FileZilla)并以FTPES方式连接。若服务器启用“隐式 FTPS”,需在 FileZilla 的加密选项中选择“要求隐式 FTP over TLS”,并使用服务器指定的端口(常见为990)。若连接失败,核对服务器证书路径、端口与被动端口范围是否已在防火墙放行,必要时在 vsftpd 中开启调试日志(debug_ssl=YES)以定位问题。