Linux上FileZilla连接失败的排查与修复
一、快速判断与优先方案
二、常见报错对照与处理要点
| 现象或错误 | 典型原因 | 处理要点 |
|---|---|---|
| Connection refused(连接被拒绝) | 目标主机上SSH服务未运行/未安装;端口不对;防火墙明确拒绝 | 在服务器执行:sudo systemctl status ssh 或 sudo systemctl status sshd;未运行则 sudo systemctl start ssh && sudo systemctl enable ssh;未安装则 sudo apt update && sudo apt install openssh-server;确认端口:`sudo ss -tlpn |
| Connection timed out(连接超时) | 网络不通、NAT/路由限制、服务器侧未监听、防火墙丢弃 | 先用 ping 与 telnet server_ip 22(或 nc -vz server_ip 22)测试;检查服务器监听端口;核对云厂商安全组/本机防火墙;必要时延长FileZilla超时并重试 |
| Authentication failed(认证失败) | 用户名/密码错误;SSH禁用密码登录 | 确认凭据;若服务器只允许密钥登录,在FileZilla站点管理器“密钥文件”选择私钥(如 .pem/.ppk);若必须用密码,在服务器 /etc/ssh/sshd_config 将 PasswordAuthentication yes 并重启 sudo systemctl restart ssh |
| FTP 数据连接失败/目录列表为空 | FTP主动/被动模式不匹配;被动端口范围未放行 | 在FileZilla“编辑-设置-传输-FTP-被动模式”切换模式;若用被动模式,设置“使用自定义端口范围”,并在防火墙放行该范围;服务器若为 vsftpd,确保 pasv_enable=YES 且 pasv_min_port/pasv_max_port 与防火墙一致 |
| Error 530 Login incorrect | 账号被限制或家目录不可访问 | 检查服务器上该用户的登录Shell、家目录权限与属主;必要时调整 /etc/passwd 与目录权限 |
| 读取/写入/删除失败(Error 6/7/8/9) | 远端目录权限不足 | 在服务器修正目标目录权限(如 chmod/chown),确保登录用户对目标路径具备相应读/写/删权限 |
| 以上对照与处理要点可覆盖大多数连接失败场景,尤其是Connection refused与超时的区分与定位。 |
三、服务器端必须检查的要点
sudo systemctl status ssh/sshd;未运行则启动并设为开机自启;未安装则安装 openssh-server。sudo ss -tlpn | grep sshd,确保监听在期望端口(默认22或自定义端口)。sudo ufw allow ssh 或 sudo ufw allow <端口>/tcp;使用 firewalld 时 sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload;云服务器需同时检查安全组入站规则。sudo systemctl status vsftpd;启用被动模式并配置端口范围;在防火墙放行该范围;必要时启用 FTP over TLS 以避免明文与数据通道问题。四、客户端FileZilla设置与验证
sftp -P <端口> user@host 或 ftp host),若命令行能连而FileZilla不行,多半是客户端配置(协议/端口/模式/密钥)问题。五、日志定位与进一步处理
ss -tlpn | grep sshd 输出、防火墙与安全组规则、FTP被动端口范围)进行进一步排查或联系服务器管理员。