在Linux上用FileZilla设置与管理FTP站点
一 安装与准备
- 在本地 Linux 上安装 FileZilla 客户端(以 Debian/Ubuntu 为例):
- 终端执行:
sudo apt update && sudo apt install filezilla
- 准备服务器侧:
- 选择协议:优先使用 SFTP(端口 22);若必须使用 FTP,建议启用 FTPS(显式 AUTH TLS)。
- 确认服务器已安装并运行 FTP 服务(如 vsftpd),且已创建用于登录的 系统用户 与目录权限。
- 规划被动模式(PASV):若服务器在 NAT/云厂商 环境,需在服务器配置 pasv_address=公网IP,并开放一段 被动端口范围(如 50000–50010)。
二 在FileZilla中添加站点
- 打开:文件 → 站点管理器 → 新建站点,填写:
- 主机:服务器 IP 或域名
- 端口:
- SFTP:22
- FTP:21
- FTPS(显式):21
- 协议:
- 推荐:SFTP – SSH File Transfer Protocol
- 或:FTP – File Transfer Protocol
- 或:FTPS(FTP over SSL/TLS)
- 加密:
- SFTP:通常选 默认/只使用普通 FTP(不加密) 即可(SSH 自带加密)
- FTP:选 仅使用明文 FTP(不安全) 或 要求显式 FTP over TLS
- 登录类型:正常(输入用户名/密码);如需免密,可后续配置 密钥认证(SFTP) 或使用 交互式登录
- 用户名/密码:填写服务器侧为 FTP/SFTP 创建的 系统用户 凭据
- 可选:在“传输设置/字符集”中按需调整传输模式与编码,然后点击 连接/保存。
三 服务器侧快速配置示例(vsftpd,便于客户端连通)
- 安装与启动(以 CentOS 7 为例):
sudo yum install -y vsftpd
sudo systemctl enable vsftpd && sudo systemctl start vsftpd
- 基础安全与本地用户:
- 编辑
/etc/vsftpd/vsftpd.conf:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
listen=YES(如存在 listen_ipv6=YES,建议注释)
- 被动模式与端口(云服务器需设置公网出口 IP):
- 在配置末尾添加:
pasv_enable=YES
pasv_address=你的公网IP
pasv_min_port=50000
pasv_max_port=50010
- 创建例外名单文件(即便为空也需存在):
sudo touch /etc/vsftpd/chroot_list
- 防火墙放行(示例):
- FTP 控制端口:
sudo firewall-cmd --add-port=21/tcp --permanent && sudo firewall-cmd --reload
- 被动端口范围:
sudo firewall-cmd --add-port=50000-50010/tcp --permanent && sudo firewall-cmd --reload
- 创建测试用户与目录:
sudo adduser ftptest && sudo passwd ftptest
sudo mkdir -p /var/ftp/test && sudo chown -R ftptest:ftptest /var/ftp/test
- 重启服务:
sudo systemctl restart vsftpd
- 说明:若使用 UFW,可用
sudo ufw allow 21/tcp 与 sudo ufw allow 50000:50010/tcp 放行相应端口。
四 连接与排错要点
- 连接模式选择:
- 有 SSH 环境:优先 SFTP(端口 22),更安全、穿透 NAT 更容易。
- 仅 FTP:建议 FTPS(显式);若服务器/网络限制导致数据通道不通,启用 被动模式 并开放 PASV 端口范围。
- 常见报错与处理:
- 无法建立数据连接(尤其在云服务器/NAT):确认服务器配置了 pasv_address=公网IP 且 PASV 端口范围已在防火墙放行。
- 认证失败:核对 用户名/密码,检查用户是否被 chroot 限制导致家目录不可写。
- 端口占用:若 21 端口被占用,排查并释放后再启动服务(如
lsof -i:21)。
- 日志定位:
- vsftpd:查看
/var/log/vsftpd.log 或系统日志
- FileZilla:在 编辑 → 设置 → 日志 启用日志,连接时观察 消息日志 面板输出。