Ubuntu 上用 vsftpd 搭配 FileZilla 的连接方法
一 环境准备与安装
- 在 Ubuntu 安装 vsftpd:sudo apt update && sudo apt install vsftpd
- 启动并设为开机自启:sudo systemctl start vsftpd && sudo systemctl enable vsftpd
- 放行防火墙端口(若启用 UFW):sudo ufw allow 21/tcp(FTP 控制端口)
二 配置 vsftpd 基础与登录
- 编辑配置文件:sudo nano /etc/vsftpd.conf
- 启用本地用户登录与写入:
- local_enable=YES
- write_enable=YES
- 可选:允许匿名访问(默认关闭):anonymous_enable=YES
- 权限掩码(常见做法):local_umask=022;file_open_mode=0666
- 使配置生效:sudo systemctl restart vsftpd
- 说明:PAM 服务名通常为 ftp(保持默认即可,无需改为 vsftpd)
三 FileZilla 连接步骤
- 打开站点管理器(文件 → 站点管理器 → 新站点)
- 按协议选择填写:
- FTP(明文)
- 协议:FTP - 文件传输协议
- 主机:Ubuntu 的 IP 地址
- 端口:21
- 登录类型:正常
- 用户/密码:Ubuntu 系统账户与密码
- 加密:只使用明文 FTP(不加密)
- FTPS(推荐加密)
- 协议:FTP over SSL/TLS(显式)
- 端口:21
- 加密:要求显式 FTP over TLS
- 登录类型:正常
- 用户/密码:同上
- SFTP(非 vsftpd,走 SSH)
- 协议:SFTP - SSH 文件传输协议
- 主机:Ubuntu 的 IP 地址
- 端口:22
- 登录类型:正常
- 用户/密码:系统账户与密码
- 首次连接会提示保存密码/接受证书,确认后即可传输
四 被动模式与防火墙要点
- vsftpd 启用被动模式(PASV)更安全可控:
- pasv_enable=YES
- pasv_min_port=1024
- pasv_max_port=1048
- 放行被动端口范围(UFW 示例):sudo ufw allow 1024:1048/tcp
- 说明:主动模式由客户端开数据端口,常受 NAT/防火墙影响;被动模式由服务器开端口,更利于穿越防火墙
五 常见问题与快速排查
- 530 Login incorrect
- 核对用户名/密码是否正确
- 确认 vsftpd.conf 中 local_enable=YES
- 检查 PAM 服务名是否为 ftp(默认无需改动)
- 重启服务:sudo systemctl restart vsftpd
- 中文乱码
- FileZilla:站点管理器 → 选中站点 → 字符集 → 选择 强制 UTF-8 → 重新连接
- 连接超时/数据连接失败
- 启用并正确放行被动端口范围(见第四节)
- 客户端与服务器之间网络/防火墙策略是否阻断 21 与被动端口
- 权限不足/无法写入
- 确认 write_enable=YES
- 检查目标目录属主与权限(如本地用户对家目录具备写权限)
- 需要加密传输
- 优先使用 FTPS(vsftpd 支持)或 SFTP(基于 SSH,非 vsftpd)