Debian 上 FileZilla 连不上服务器的排查与修复
一、先快速定位问题
ping 服务器IP;对 FTP 额外测试控制端口 nc -vz 服务器IP 21,对 SFTP 测试 nc -vz 服务器IP 22。sudo systemctl status vsftpd(FTP)或 sudo systemctl status ssh(SFTP),并用 ss -ltnp | grep -E '(:21|:22)' 查看监听状态。二、按协议分别排查
sudo systemctl start ssh && sudo systemctl enable ssh。id_rsa,而非 PuTTY 的 .ppk;必要时用 ssh-keygen -p -m PEM -f ~/.ssh/id_rsa 转换)。sudo tail -f /var/log/auth.log 可看到登录尝试与拒绝原因。sudo apt-get install vsftpd && sudo systemctl start vsftpd && sudo systemctl enable vsftpd。anonymous_enable=NO、local_enable=YES、write_enable=YES、chroot_local_user=YESpasv_enable=YES、pasv_min_port=40000、pasv_max_port=50000;若服务器在 NAT 后,设置 pasv_address=你的公网IP。ssl_enable=YES 并配置证书;FileZilla 端在 编辑 → 设置 → 传输 → FTP over TLS 设置 勾选“启用 FTP over TLS 支持”。三、防火墙与端口放行
sudo iptables -I INPUT -p tcp --dport 21 -j ACCEPTsudo iptables -I INPUT -p tcp --dport 40000:50000 -j ACCEPTsudo iptables -I INPUT -p tcp --dport 20 -j ACCEPTsudo iptables-save | sudo tee /etc/iptables/rules.v4sudo iptables -I INPUT -p tcp --dport 22 -j ACCEPT四、常见报错对照与修复
pasv_address=公网IP;必要时改用 SFTP(22) 规避 FTP 复杂端口问题。chroot 时主目录不可写。uploads),并对主目录去掉写权限:chmod a-w /home/ftpuser,chown ftpuser:ftpuser /home/ftpuser/uploads。/etc/vsftpd.user_list)并写入允许的用户名,确保配置 userlist_enable=YES、userlist_file 与 userlist_deny 正确。五、最快可行的两条路径
sudo systemctl start ssh && sudo systemctl enable sshpasv_enable=YES、pasv_min_port=40000、pasv_max_port=50000,如 NAT 后设置 pasv_address=公网IP。