温馨提示×

Ubuntu FTP如何配置被动模式

小樊
66
2025-09-19 20:20:22
栏目: 智能运维

Ubuntu FTP配置被动模式(vsftpd)详细步骤

1. 安装vsftpd

首先确保系统已安装vsftpd(Ubuntu默认仓库提供的高安全性FTP服务器),通过以下命令安装:

sudo apt update
sudo apt install vsftpd

2. 编辑vsftpd配置文件

使用文本编辑器(如nano)打开vsftpd的主配置文件/etc/vsftpd.conf

sudo nano /etc/vsftpd.conf

在文件中添加或修改以下关键参数,以启用被动模式并设置相关规则:

  • 启用被动模式:取消pasv_enable的注释(或直接设置为YES),开启被动模式功能。
  • 设置被动模式端口范围:定义数据传输使用的端口区间(建议选择高位端口,如50000-50100或40000-50000,避免与常用服务冲突)。
  • 指定服务器IP地址:若服务器位于NAT/防火墙后(如云服务器),需设置pasv_address为服务器的公网IP(若未设置,客户端可能无法正确连接被动模式端口)。
  • 允许本地用户登录:设置local_enable=YES,允许系统用户通过FTP登录。
  • 允许写操作:设置write_enable=YES,允许用户上传/修改文件(若需限制写权限,可调整为NO)。

示例配置片段:

pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50100
pasv_address=你的服务器公网IP  # 如123.45.67.89(云服务器必填)
local_enable=YES
write_enable=YES

3. 重启vsftpd服务

保存配置文件并退出编辑器(nano中按Ctrl+OEnterCtrl+X),然后重启vsftpd服务使更改生效:

sudo systemctl restart vsftpd

验证服务状态(可选):

sudo systemctl status vsftpd

若显示“active (running)”,则表示服务已正常启动。

4. 配置防火墙放行端口

若服务器启用了ufw(Ubuntu默认防火墙),需放行FTP控制端口(21)和被动模式端口范围:

sudo ufw allow 21/tcp       # FTP控制端口
sudo ufw allow 50000:50100/tcp  # 被动模式端口范围(需与配置文件一致)
sudo ufw reload             # 重新加载防火墙规则

5. 测试被动模式连接

使用FTP客户端(如FileZilla或命令行工具)连接服务器,务必选择“被动模式”(Passive Mode):

  • 命令行测试
    ftp 你的服务器IP
    
    连接后输入passive命令启用被动模式,再执行ls查看文件列表(若能正常列出文件,则说明被动模式配置成功)。
  • 图形化工具测试
    在FileZilla中,输入服务器IP、用户名、密码,点击“快速连接”,连接后在“站点管理器”中确认“传输模式”设置为“被动”。

常见问题排查

  • 连接超时:检查防火墙/安全组是否放行FTP端口(21和被动模式端口范围);云服务器需在控制台开放对应端口。
  • 530 Login Incorrect:确认用户名/密码正确;检查/etc/ftpusers/etc/vsftpd.user_list是否禁止了该用户。
  • 被动模式失败:确保pasv_address设置为服务器公网IP;被动模式端口范围已正确放行。

通过以上步骤,即可在Ubuntu上成功配置vsftpd的被动模式,支持客户端通过防火墙/NAT环境进行稳定的FTP文件传输。

0