1. 檢查FTP服務運行狀態
確保vsftpd服務已啟動并設置為開機自啟。使用以下命令檢查服務狀態:
sudo systemctl status vsftpd
若未運行,啟動服務:
sudo systemctl start vsftpd
設置開機自啟:
sudo systemctl enable vsftpd
2. 驗證網絡連通性
ping <服務器IP>測試客戶端與服務器的網絡連接,若ping不通,需排查網絡故障(如IP錯誤、路由問題)。telnet <服務器IP> 21測試FTP端口(默認21)是否可達,若連接失敗,可能是防火墻或服務器未監聽端口。3. 配置防火墻規則
sudo ufw allow 21/tcpsudo ufw reloadsudo iptables -A INPUT -p tcp --dport 21 -j ACCEPTsudo iptables-save > /etc/iptables.rules4. 檢查vsftpd配置文件
編輯/etc/vsftpd.conf,確保以下關鍵配置正確(根據需求調整):
listen=YES:啟用FTP服務監聽。local_enable=YES:允許本地系統用戶登錄。anonymous_enable=NO:禁止匿名用戶登錄(若無需匿名訪問)。write_enable=YES:允許用戶上傳/修改文件。chroot_local_user=YES:限制用戶只能訪問其主目錄(提升安全性)。allow_writeable_chroot=YES:允許chroot目錄可寫(避免“500 OOPS”錯誤)。sudo systemctl restart vsftpd5. 處理被動模式(PASV)問題
若使用被動模式連接失敗,需配置PASV端口范圍并開放防火墻:
/etc/vsftpd.conf中添加:pasv_enable=YESpasv_min_port=60000pasv_max_port=61000sudo ufw allow 60000:61000/tcpsudo systemctl restart vsftpd6. 驗證用戶權限
/etc/vsftpd.conf中的userlist_enable和userlist_file設置,確認用戶是否在允許列表中。/etc/ftpusers(該文件中的用戶將被禁止訪問FTP)。7. 查看日志定位問題
檢查vsftpd日志文件(通常位于/var/log/vsftpd.log),獲取具體錯誤信息(如“530 Login incorrect”“553 Could not create file”),根據日志提示針對性解決。
8. 更新vsftpd軟件包
確保vsftpd為最新版本(修復已知bug):
sudo apt update && sudo apt upgrade vsftpd