Ubuntu如何配置vsftp被动模式
导读:Ubuntu 配置 vsftpd 被动模式 一 安装与准备 更新索引并安装 vsftpd: sudo apt update sudo apt install vsftpd 启动并设为开机自启: sudo systemctl sta...
Ubuntu 配置 vsftpd 被动模式
一 安装与准备
- 更新索引并安装 vsftpd:
- sudo apt update
- sudo apt install vsftpd
- 启动并设为开机自启:
- sudo systemctl start vsftpd
- sudo systemctl enable vsftpd
- 备份原始配置,便于回滚:
- sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
二 修改 vsftpd 配置启用被动模式
- 编辑配置文件:
- sudo nano /etc/vsftpd.conf
- 建议的基础配置(按需调整):
- 禁用匿名、启用本地用户与写入:
- anonymous_enable=NO
- local_enable=YES
- write_enable=YES
- 将本地用户限制在其主目录(如启用,建议同时设置可写根目录,避免登录失败):
- chroot_local_user=YES
- allow_writeable_chroot=YES
- 启用被动模式并限定端口范围(示例范围:50000–50100,可自定义):
- pasv_enable=YES
- pasv_min_port=50000
- pasv_max_port=50100
- 可选:指定被动模式对外地址(多网卡或云服务器公网 IP 时建议设置,替换为你的服务器公网或内网地址)
- pasv_address=你的服务器IP
- 禁用匿名、启用本地用户与写入:
- 保存并重启服务:
- sudo systemctl restart vsftpd
三 防火墙放行控制与被动端口
- 使用 UFW(推荐):
- 放行控制端口:sudo ufw allow 21/tcp
- 放行被动端口范围(与配置一致):sudo ufw allow 50000:50100/tcp
- 查看状态:sudo ufw status
- 使用 iptables(如未使用 UFW):
- 放行控制端口:sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
- 放行被动端口范围:sudo iptables -A INPUT -p tcp --dport 50000:50100 -j ACCEPT
- 持久化规则(Debian/Ubuntu 常见做法):
- sudo apt install iptables-persistent
- sudo netfilter-persistent save
- sudo netfilter-persistent reload
四 客户端连接与验证
- 使用支持被动模式的客户端(如 FileZilla)连接:
- 主机:服务器 IP
- 协议:FTP
- 加密:仅使用普通 FTP(不加密) 或 要求显式 FTP over TLS(FTPS)(若已配置 TLS)
- 登录类型:正常
- 在站点管理器中勾选 被动模式(PASV)
- 连接后执行列目录与上传/下载测试,确认数据通道正常。
五 常见问题与优化
- 登录失败或目录不可写:启用了 chroot_local_user=YES 时,需同时设置 allow_writeable_chroot=YES,或将用户家目录设为可写。
- 被动端口不通:核对 pasv_min_port/pasv_max_port 与防火墙放行范围完全一致;云服务器需确保安全组/NACL 也放行相同端口范围。
- 云服务器公网访问:设置 pasv_address=公网IP,避免客户端拿到内网地址导致数据连接失败。
- 安全性建议:
- 生产环境优先使用 SFTP(基于 SSH) 或 FTPS(显式/隐式 SSL/TLS);若启用 TLS,需准备证书并在 vsftpd 中配置相关 SSL 项,客户端选择 FTP over TLS。
- 避免使用过于宽泛的被动端口范围,范围越小越易管控与审计。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何配置vsftp被动模式
本文地址: https://pptw.com/jishu/766336.html
