在 Debian 上搭的 FTP 服务器传文件失败,原因很多,下面按最常见原因 → 排查方法给你一个清单,你可以逐条对照。
这是 90% 失败的原因
现象:
ls 卡住原因:
✅ 解决(以 vsftpd 为例):
sudo nano /etc/vsftpd.conf
确保有:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
放行端口:
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
云服务器还要在安全组放行这些端口。
现象:
550 Permission denied检查:
ls -ld /home/ftpuser
解决:
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
vsftpd 还要:
write_enable=YES
现象:
denied检查:
sudo aa-status
可临时测试:
sudo systemctl stop apparmor
(生产不建议长期关)
现象:
vsftpd 常见配置:
chroot_local_user=YES
allow_writeable_chroot=YES
否则会报:
500 OOPS: vsftpd: refusing to run with writable root inside chroot
vsftpd 默认禁止 root:
userlist_deny=YES
root 在 /etc/ftpusers 中
✅ 用普通用户
df -h
df -i
sudo tail -f /var/log/vsftpd.log
# 或
sudo journalctl -u vsftpd -f
ftp localhost
看具体报错码(550 / 425 / 530)
请告诉我:
我可以直接给你对应配置文件和命令。