Debian 上 FTP 服务器(ftpserver)登录慢,通常不是“传输慢”,而是连接建立阶段卡住。下面按最常见原因 → 排查方法 → 解决办法来说明。
FTP 登录时,服务器默认会:
✅ 表现:
USER 命令之后卡很久✅ 解决(vsftpd 为例):
sudo nano /etc/vsftpd.conf
加入:
reverse_lookup_enable=NO
或(老版本):
pasv_promiscuous=YES
重启:
sudo systemctl restart vsftpd
vsftpd 使用 PAM:
/etc/pam.d/vsftpdpam_unix、systemd-logind、nss✅ 可能原因:
/var/log/btmp 很大pam_loginuid 卡住✅ 快速验证:
time ftp localhost
如果本地也慢 → 基本是 PAM/系统问题
✅ 临时测试:
sudo mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
重启 vsftpd 再试(仅测试)
Entering Passive Mode✅ 解决:
pasv_min_port=30000
pasv_max_port=31000
并放行:
ufw allow 30000:31000/tcp
vsftpd 默认监听 IPv6,客户端先试 IPv6 再退 IPv4
✅ 解决:
listen=YES
listen_ipv6=NO
/var/log/vsftpd.log 巨大/var 100%✅ 检查:
df -h
top
iotop
/dev/random 阻塞✅ 检查:
cat /proc/sys/kernel/random/entropy_avail
# 1. 本地登录测试
time ftp localhost
# 2. 看 DNS 是否慢
getent hosts 客户端IP
# 3. 看 vsftpd 配置
grep -E "reverse|pasv|listen" /etc/vsftpd.conf
# 4. 看日志
tail -f /var/log/vsftpd.log
请告诉我:
我可以直接给你一份最小可用配置。