CentOS下使用 FileZilla 配置 FTP 的两种常见方式
- 方式一:在 CentOS 上部署 vsftpd,用本机的 FileZilla 客户端连接(适合服务器侧用系统用户管理)。
- 方式二:在 CentOS 上安装 FileZilla Server(Windows 版程序,通过 Wine 运行),用 FileZilla 客户端连接(适合需要图形化用户/权限管理的场景)。
方式一 使用 vsftpd 服务器与 FileZilla 客户端
方式二 在 CentOS 上安装 FileZilla Server 并用客户端连接
-
准备与安装要点
- 下载 FileZilla Server(Windows 安装包),在 CentOS 上通过 Wine 安装并运行 Server 端;安装完成后会弹出管理控制台连接窗口。
- 首次连接设置管理密码与端口(保持默认或自定义),勾选“总是连接到该服务器”。
-
关键服务器设置
- 被动模式(PASV):Edit → Settings → Passive mode settings
- 勾选 “Use the following IP:” 并填写服务器公网IP
- 勾选 “Use custom port range”,如 10000–10200
- 加密传输:Edit → Settings → FTP over TLS settings
- 点击 “Generate new certificate…”,生成并保存证书,启用 TLS
- 用户与共享目录:Edit → Users/Groups → 添加用户 → 设置密码 → 在 Shared folders 添加目录并 “Set as home dir”,按需分配权限。
-
防火墙放行
- 放行控制端口:21/TCP
- 放行 TLS/加密端口:990/TCP
- 放行被动端口范围:如 10000–10200/TCP
- firewalld 示例:sudo firewall-cmd --permanent --add-port=21/tcp --add-port=990/tcp --add-port=10000-10200/tcp && sudo firewall-cmd --reload。
-
客户端连接(FileZilla)
- 协议:FTP - 显式 FTP over TLS(推荐)或 FTP
- 主机:服务器公网IP
- 端口:21
- 登录类型:正常,输入 Server 端创建的用户名与密码。
常见问题与排查要点
-
目录列表为空或传输失败(PASV 问题)
- 服务器侧未配置被动端口范围或未放行防火墙;在 vsftpd 设置 pasv_min_port/pasv_max_port 并放行,或在 FileZilla Server 设置被动端口范围并放行;同时确保路由器/NAT 做端口转发(如有)。
-
登录慢或频繁超时
- 多为未正确配置被动模式所致,按上文设置 pasv_address 与端口范围,并放行对应端口。
-
安全性建议
- 生产环境禁用匿名登录(anonymous_enable=NO),优先使用 FTPS(显式) 或 SFTP;限制用户到主目录(chroot);被动端口使用高位端口段并严格放行。
-
端口占用
- 启动失败且提示 21 端口被占用时,用 lsof -i:21 查找进程并处理后再启动服务。