在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
參考來源: