Debian上FileZilla连不上FTP的排查与修复
一 快速定位问题
ping 服务器IP或域名(网络层是否通)telnet 服务器IP 21(端口21是否开放,出现220欢迎语说明服务在监听)二 服务器端检查与修复
sudo systemctl status vsftpd(未运行则 sudo systemctl start vsftpd)sudo systemctl status proftpd(未运行则 sudo systemctl start proftpd)sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 50000:50050 -j ACCEPTsudo iptables-save > /etc/iptables/rules.v4sudo ufw allow 21/tcp 与 sudo ufw allow 50000:50050/tcp/etc/vsftpd.conf 中设置:
pasv_enable=YESpasv_min_port=50000、pasv_max_port=50050pasv_address=你的公网IPsudo systemctl restart vsftpdsudo apt-get update && sudo apt-get install openssh-server && sudo systemctl start ssh && sudo systemctl enable sshsudo ufw allow 22 或对应iptables规则三 FileZilla客户端设置
四 常见报错对照与处理
| 错误信息 | 可能原因 | 处理要点 |
|---|---|---|
| Connection timed out | 服务器/中间网络未放行21端口或被动端口范围 | 放行21与被动端口;云主机检查安全组;客户端/服务器防火墙排查 |
| Connection refused | FTP服务未运行或端口不对 | 启动vsftpd/proftpd;确认端口为21 |
| 530 Login incorrect | 用户名/密码错误或账户被限制 | 核对凭据;检查服务器对用户/目录的权限配置 |
| 可以登录但无法列出目录 | 被动模式端口未放行或NAT未配置被动地址 | 服务端配置被动端口范围并放行;vsftpd设置pasv_address为公网IP;客户端用被动模式 |
| 文件名乱码 | 客户端与服务器字符集不一致 | 将FileZilla字符集设为UTF-8 |
五 仍未解决时建议收集的信息
/etc/vsftpd.conf中pasv_enable、pasv_min_port、pasv_max_port、pasv_address)sudo iptables -S 或 sudo ufw status verbose)