Debian 上 FTP 服务器登录失败的原因很多,需要结合具体现象 + 日志来判断。下面按最常见原因给你一个系统排查清单,基本能覆盖 90% 的情况。
Debian 常见 FTP 服务有:
dpkg -l | grep -E "vsftpd|proftpd|pure-ftpd"
vsftpd 默认禁止没有合法 shell 的用户登录
检查用户 shell:
grep ftpuser /etc/passwd
如果用户 shell 是:
/usr/sbin/nologin
而 vsftpd 没配置允许,就会登录失败。
✅ 解决:
sudo usermod -s /bin/bash ftpuser
或 vsftpd 配置:
# /etc/vsftpd.conf
local_enable=YES
检查:
sudo nano /etc/vsftpd.conf
确保有:
local_enable=YES
write_enable=YES
然后重启:
sudo systemctl restart vsftpd
测试:
ftp localhost
或
ftp 127.0.0.1
如果提示:
530 Login incorrect
基本就是:
查看日志:
sudo tail -n 50 /var/log/auth.log
常见错误:
pam_unix(vsftpd:auth): authentication failure
检查:
cat /etc/pam.d/vsftpd
症状:
解决(vsftpd):
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墙放行:
sudo ufw allow 30000:31000/tcp
检查:
sudo aa-status
FTP 用户家目录不能对其他人可写(vsftpd 安全限制):
chmod 755 /home/ftpuser
否则会:
500 OOPS: vsftpd: refusing to run with writable root inside chroot
# 1. 看登录错误
ftp localhost
# 2. 看系统日志
sudo tail -f /var/log/auth.log
# 3. 看 vsftpd 日志(如果开了)
sudo tail -f /var/log/vsftpd.log
请贴出以下信息:
/etc/vsftpd.conf 内容我可以直接帮你改配置 ✅