温馨提示×

CentOS FileZilla如何启用SSL加密

小樊
39
2025-12-17 09:18:56
栏目: 云计算

在 CentOS 上使用 FileZilla 启用 SSL 加密

一、先确认你的目标

  • 使用 SFTP(基于 SSH):在 FileZilla 选择 SFTP - SSH File Transfer Protocol,端口 22,无需额外 SSL 配置,只要服务器开启 SSH 即可。适合大多数场景,安全性与易用性更好。若走本机端口转发,可先建立 SSH 隧道再连本地端口。
  • 使用 FTP over TLS/SSL(FTPS,显式):在 FileZilla 选择 FTP - 文件传输协议,加密选 要求显式 FTP over TLS,端口 21。服务器需配置 vsftpd 并启用 TLS。若服务器在 NAT/防火墙后,还需配置被动端口范围并放行对应端口。

二、服务器端配置 vsftpd 启用 TLS(用于 FileZilla 的“显式 FTP over TLS”)

  • 安装与证书
    • 安装 vsftpd:sudo yum install -y vsftpd
    • 生成自签名证书(示例有效期 365 天): sudo mkdir -p /etc/ssl/private sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048
      -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
  • 核心配置 /etc/vsftpd/vsftpd.conf(示例为“显式 FTPS”)
    • 启用并限制协议
      • ssl_enable=YES
      • ssl_tlsv1_2=YES
      • ssl_sslv2=NO
      • ssl_sslv3=NO
    • 指定证书与密钥
      • rsa_cert_file=/etc/ssl/private/vsftpd.pem
      • rsa_private_key_file=/etc/ssl/private/vsftpd.pem
    • 强制加密与算法
      • allow_anon_ssl=NO
      • force_local_data_ssl=YES
      • force_local_logins_ssl=YES
      • require_ssl_reuse=NO
      • ssl_ciphers=HIGH
    • 被动模式端口范围(示例 40000-50000
      • pasv_enable=YES
      • pasv_min_port=40000
      • pasv_max_port=50000
  • 防火墙放行
    • 放行控制与被动端口: sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --permanent --add-port=990/tcp sudo firewall-cmd --permanent --add-port=40000-50000/tcp sudo firewall-cmd --reload
  • 重启服务
    • sudo systemctl restart vsftpd
    • sudo systemctl enable vsftpd 以上为 vsftpd 启用 TLS 的最小可用配置;若你使用“隐式 FTPS”,通常改用端口 990 并在客户端选择“隐式”模式,但显式模式更通用。

三、FileZilla 客户端连接设置

  • SFTP(推荐)
    • 协议:SFTP - SSH File Transfer Protocol
    • 主机:服务器 IP/域名
    • 端口:22
    • 登录类型:正常,输入系统用户名与密码(或密钥)
    • 无需额外 SSL/TLS 设置
  • FTP over TLS/SSL(显式)
    • 协议:FTP - 文件传输协议
    • 加密:要求显式 FTP over TLS
    • 主机:服务器 IP/域名
    • 端口:21
    • 登录类型:正常,输入用户名与密码
    • 首次连接会弹出证书指纹确认,核对后接受即可
  • 端口转发示例(可选)
    • 建立 SSH 隧道:ssh -L 10022:localhost:21 username@your_server_ip
    • FileZilla 连接:主机 localhost,端口 10022,协议 FTP,加密 要求显式 FTP over TLS 以上站点管理器配置与隧道方式可直接用于生产连接。

四、常见问题与排查

  • 连接被拒或数据通道不通
    • 核对防火墙已放行 21、990 与控制通道外的被动端口范围(如 40000-50000);云主机还需在安全组放行相同端口。
  • 证书不受信任
    • 自签名证书首次连接会提示,确认指纹无误后选择“始终信任此证书”以保存。生产环境建议使用受信任 CA 签发的证书。
  • 被动模式失败(尤其 NAT/云主机)
    • 确认 vsftpd 配置了 pasv_min_port/pasv_max_port,并在防火墙/网关做端口映射;FileZilla 站点设置中可保持默认被动模式。
  • 明文登录被拒
    • 已配置 force_local_logins_ssl=YESforce_local_data_ssl=YES 时,必须使用 TLS;使用普通 FTP 客户端或明文模式会被拒绝。
  • 选择协议建议
    • 若不受限于必须使用 FTP,优先选择 SFTP(端口 22),部署与维护更简单,穿越防火墙/NAT 更可靠。

0