CentOS下FileZilla如何配置FTP
导读:CentOS下使用 FileZilla 配置 FTP 的两种常见方式 方式一:在 CentOS 上部署 vsftpd,用本机的 FileZilla 客户端连接(适合服务器侧用系统用户管理)。 方式二:在 CentOS 上安装 FileZi...
CentOS下使用 FileZilla 配置 FTP 的两种常见方式
- 方式一:在 CentOS 上部署 vsftpd,用本机的 FileZilla 客户端连接(适合服务器侧用系统用户管理)。
- 方式二:在 CentOS 上安装 FileZilla Server(Windows 版程序,通过 Wine 运行),用 FileZilla 客户端连接(适合需要图形化用户/权限管理的场景)。
方式一 使用 vsftpd 服务器与 FileZilla 客户端
-
安装与启动
- 安装:sudo yum install -y vsftpd
- 开机自启:sudo systemctl enable vsftpd
- 启动:sudo systemctl start vsftpd
- 若端口被占用:用 lsof -i:21 查进程并 kill,再启动服务。
-
基本配置(/etc/vsftpd/vsftpd.conf)
- 禁止匿名、允许本地用户、开启写入、限制在主目录:
- anonymous_enable=NO
- local_enable=YES
- write_enable=YES
- chroot_local_user=YES
- allow_writeable_chroot=YES
- 被动模式与端口范围(外网访问强烈建议配置):
- pasv_enable=YES
- pasv_address=你的公网IP
- pasv_min_port=50000
- pasv_max_port=50010
- 可选:仅监听 IPv4
- listen=YES
- #listen_ipv6=YES
- 创建例外用户名单(即使为空也需创建):sudo touch /etc/vsftpd/chroot_list。
- 禁止匿名、允许本地用户、开启写入、限制在主目录:
-
创建测试用户与目录
- 用户:sudo adduser ftptest & & sudo passwd ftptest
- 目录:sudo mkdir -p /var/ftp/test & & sudo chown -R ftptest:ftptest /var/ftp/test
-
防火墙放行
- firewalld:sudo firewall-cmd --permanent --add-service=ftp & & sudo firewall-cmd --reload
- 若使用被动端口范围,还需放行:sudo firewall-cmd --permanent --add-port=50000-50010/tcp & & sudo firewall-cmd --reload。
-
客户端连接(FileZilla)
- 协议:FTP - 显式 FTP over TLS(推荐)或普通 FTP
- 主机:服务器公网IP
- 端口:21
- 登录类型:正常,输入 ftptest 与密码
- 若连接慢或目录读取失败,确认已按上文配置被动模式与端口范围,并放行对应防火墙端口。
方式二 在 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”,按需分配权限。
- 被动模式(PASV):Edit → Settings → Passive mode settings
-
防火墙放行
- 放行控制端口: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 查找进程并处理后再启动服务。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS下FileZilla如何配置FTP
本文地址: https://pptw.com/jishu/772032.html
