首先确认客户端与Linux服务器之间的网络连接正常,使用ping <服务器IP>命令测试连通性。若无法ping通,需检查网络线路、路由器配置或服务器IP是否正确。
确保Linux服务器上的SSH服务(用于SFTP)或FTP服务(如vsftpd)已启动并运行:
sudo systemctl status ssh;若未运行,启动服务:sudo systemctl start ssh。sudo systemctl status vsftpd;启动命令:sudo systemctl start vsftpd。根据服务器防火墙类型(ufw/firewalld/iptables),开放必要端口:
sudo ufw allow 21/tcp(FTP)、sudo ufw allow 22/tcp(SFTP)、sudo ufw allow 60000:60020/tcp(被动模式端口范围);然后重载规则:sudo ufw reload。sudo firewall-cmd --permanent --add-service=ftp、sudo firewall-cmd --permanent --add-service=ssh、sudo firewall-cmd --permanent --add-port=60000-60020/tcp;重载规则:sudo firewall-cmd --reload。sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT),并保存规则(sudo service iptables save)。在FileZilla的站点管理器中,确认以下参数正确:
PasswordAuthentication yes(允许密码认证)、Subsystem sftp /usr/lib/openssh/sftp-server(启用SFTP子系统)。修改后重启SSH服务:sudo systemctl restart ssh。local_enable=YES(允许本地用户登录)、write_enable=YES(允许写入权限)、chroot_local_user=YES(限制用户在自己的家目录)。修改后重启vsftpd服务:sudo systemctl restart vsftpd。若遇到“权限被拒绝”(550错误)或无法上传/下载文件,需调整远程目录权限:
ftpuser),命令:sudo chown -R ftpuser:ftpuser /home/ftpuser。sudo chmod -R 755 /home/ftpuser。/etc/vsftpd/vsftpd.conf中设置allow_writeable_chroot=YES(若用户被限制在家目录)。/var/log/auth.log,Ubuntu)或(/var/log/secure,CentOS),获取连接失败的详细原因(如密码错误、IP被限制)。旧版本FileZilla可能存在兼容性问题或已知bug,建议从官方网站下载最新版本安装,避免因版本问题导致的连接故障。
使用其他FTP客户端(如WinSCP、Cyberduck)尝试连接服务器,若其他客户端能正常连接,则问题可能出在FileZilla配置上;若其他客户端也无法连接,则需重点检查服务器端配置或网络环境。