Debian系统vsftp连接失败可按以下步骤排查解决:
检查服务状态
确保vsftpd服务已启动并设置为开机自启:
sudo systemctl status vsftpd # 查看状态
sudo systemctl start vsftpd # 启动服务
sudo systemctl enable vsftpd # 开机自启
验证配置文件
检查/etc/vsftpd.conf
关键配置是否正确:
listen=YES
(启用监听)local_enable=YES
(允许本地用户登录)write_enable=YES
(允许上传文件)chroot_local_user=YES
(限制用户主目录)pasv_enable=YES
(启用被动模式,需设置端口范围)sudo systemctl restart vsftpd
排查防火墙与端口
确保防火墙开放FTP端口(默认21)及被动模式端口范围(如40000-50000):
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp # 若启用被动模式
sudo ufw reload
若使用iptables,需添加对应规则。
查看日志定位问题
通过/var/log/vsftpd.log
查看具体错误信息,如权限不足、配置错误等:
sudo tail -f /var/log/vsftpd.log
处理用户权限问题
sudo chown -R ftpuser:ftpuser /path/to/ftp/dir
,并设置chmod 755
。调整SELinux(若启用)
临时禁用SELinux对FTP的限制:
sudo setenforce 0
或修改/etc/selinux/config
永久禁用(需重启)。
其他常见问题
reverse_lookup_enable=NO
禁用反向解析。listen_ipv6=NO
。提示:修改配置后需重启vsftpd服务,若问题仍未解决,根据日志错误信息进一步排查或参考官方文档。