首页主机资讯Filezilla在CentOS上如何使用SSL加密传输

Filezilla在CentOS上如何使用SSL加密传输

时间2025-12-03 23:11:04发布访客分类主机资讯浏览1231
导读:在 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
        
  • 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
  • 4)FileZilla 客户端连接
    • 打开站点管理器(Site Manager)新建站点:
      • 主机:服务器 IP/域名
      • 协议:FTP – File Transfer Protocol
      • 加密:要求显式 FTP over TLS(推荐);若服务器为隐式,选择 要求隐式 FTP over TLS 并将端口改为 990
      • 登录类型:询问密码正常
      • 用户:你的 FTP 用户名
    • 首次连接会弹出证书指纹,核对信息后选择 始终信任并继续,随后输入密码即可。

三、方案二 SFTP(基于 SSH)

  • 适用:希望更简单、更通用的加密传输;FileZilla 客户端支持 SFTP(端口 22)
  • 服务器侧(CentOS)准备:
    • 安装并启用 SSH 服务:yum install -y openssh-server & & systemctl enable --now sshd
    • 防火墙放行 22/tcpfirewall-cmd --permanent --add-port=22/tcp & & firewall-cmd --reload
    • 如需公钥登录,将客户端公钥放入对应用户的 ~/.ssh/authorized_keys
  • 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
Filezilla在CentOS上如何进行文件压缩与解压 CentOS如何解决Filezilla连接超时问题

游客 回复需填写必要信息