在 CentOS 上使用 FileZilla 进行文件共享的两种常见方式
- 使用 SFTP(基于 SSH):在 CentOS 上启用 SSH 服务,用 FileZilla Client 以 SFTP 协议连接并传输文件。适合大多数场景,配置简单、加密传输。
- 搭建 FTP/S(FTP over SSL/TLS) 服务器:在 CentOS 上安装并配置 FTP 服务(如 vsftpd),用 FileZilla Client 连接。适合需要传统 FTP 的场景,注意加密与被动端口放通。
方案一 SFTP 方式(推荐)
-
服务端准备(CentOS)
- 安装并启动 SSH 服务:sudo yum install -y openssh-server && sudo systemctl enable --now sshd
- 确认防火墙放行 SSH 端口(默认 22):sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload
- 创建用于共享的系统用户(可选):sudo useradd -m -s /bin/bash shareuser && echo “shareuser:YourStrongPass” | sudo chpasswd
- 将要共享的目录授权给该用户,例如:sudo chown -R shareuser:shareuser /data/share && sudo chmod 755 /data/share
-
客户端连接(FileZilla Client)
- 打开 站点管理器,新建站点,协议选择 SFTP - SSH File Transfer Protocol
- 主机填写 CentOS 服务器 IP,端口 22
- 登录类型选 正常,输入用户名(如 shareuser)与密码
- 连接后,左侧为本地文件,右侧为服务器目录,拖拽即可上传/下载
方案二 FTP/S 方式(使用 vsftpd)
-
安装与基础配置
- 安装 vsftpd:sudo yum install -y vsftpd
- 编辑配置文件:sudo vi /etc/vsftpd/vsftpd.conf,常用配置示例:
- listen=YES
- anonymous_enable=NO
- local_enable=YES
- write_enable=YES
- chroot_local_user=YES
- allow_writeable_chroot=YES
- 启动并设置开机自启:sudo systemctl enable --now vsftpd
-
防火墙与被动端口(如启用被动模式)
- 放行 FTP 服务:sudo firewall-cmd --permanent --add-service=ftp && sudo firewall-cmd --reload
- 若使用被动模式,需在 vsftpd 配置被动端口范围(如 10000-10100),并在防火墙放行该范围,以及放行 FTP 数据端口 20
-
客户端连接(FileZilla Client)
- 协议选择 FTP - File Transfer Protocol,若启用 TLS 则选 FTP over TLS (explicit)
- 主机填写服务器 IP,端口 21
- 登录类型 正常,输入系统用户名与密码;如启用 TLS,首次连接需确认证书
常见问题与排查要点
- SFTP 连不上
- 检查 sshd 是否运行:sudo systemctl status sshd
- 检查 防火墙/云安全组 是否放行 22 端口
- FTP 能登录但列目录/传输失败
- 多为 被动模式端口范围 未放行,需在服务器与防火墙同时放通对应端口区间
- 需要加密传输
- FTP 建议使用 TLS;SFTP 本身基于 SSH 已加密
- 权限问题
- 共享目录需对登录用户具备相应 读写/执行 权限,必要时用 chown/chmod 调整
补充说明 FileZilla Server 的平台限制
- FileZilla Server 官方仅提供 Windows 版本,在 CentOS 上不能直接安装 FileZilla Server。若坚持使用 Server 端,请选择 Windows 主机 部署;在 CentOS 上更常见的是采用 SFTP(SSH) 或 vsftpd(FTP/S) 方案配合 FileZilla Client 使用。