在Debian中解决vsftpd连接问题,可按以下步骤排查:
检查服务状态
sudo systemctl status vsftpd # 确保服务已启动
sudo systemctl start vsftpd # 若未启动则手动启动
sudo systemctl enable vsftpd # 设置开机自启
验证配置文件
/etc/vsftpd.conf,确保关键参数正确:listen=YES # 启用监听(默认21端口)
listen_ipv6=NO # 禁用IPv6(若仅用IPv4)
anonymous_enable=NO # 禁止匿名登录(根据需求设置)
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许上传/删除文件
chroot_local_user=YES # 限制用户至主目录(增强安全)
sudo vsftpd -t
配置防火墙
sudo ufw allow 21/tcp # 开放FTP控制端口
sudo ufw reload # 重新加载防火墙规则
检查用户权限
sudo useradd -m ftpuser -d /home/ftpuser # 创建用户(若需)
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
/etc/vsftpd/virtusers 及 PAM 认证。排查日志与端口
sudo tail -f /var/log/vsftpd.log
sudo netstat -tuln | grep -E ':(20|21)'
处理特殊场景
reverse_lookup_enable=NO
sudo setenforce 0
参考来源: