Ubuntu上FileZilla连接问题的排查与修复
一 快速判断与优先方案
- 优先选择SFTP(基于SSH),通常更稳定、穿透性更好。确保服务器已安装并运行SSH服务,然后在FileZilla站点管理器中按如下填写:协议选SFTP - SSH File Transfer Protocol,主机填服务器IP/域名,端口22,登录类型选正常并填写用户名/密码。若仍失败,再按下方步骤逐项排查。
二 连通性与防火墙排查
- 网络连通性:在客户端执行ping <服务器IP>;若不通,检查服务器IP是否正确、网络线路/路由、以及是否被安全组或本机防火墙拦截ICMP。
- 防火墙放行:Ubuntu常用UFW,放行SSH端口(SFTP)或FTP端口(FTP)。示例:
- 放行SFTP:sudo ufw allow 22/tcp 或 sudo ufw allow ssh
- 放行FTP:sudo ufw allow 21/tcp
- 使规则生效:sudo ufw reload
如使用其他防火墙(如iptables/firewalld),需同步开放对应端口。必要时可短暂关闭防火墙做对比测试(测试完记得恢复)。
三 服务器端服务状态检查
- SFTP(推荐):
- 检查/安装/启动/自启SSH服务:
- 检查:sudo systemctl status ssh
- 安装:sudo apt update && sudo apt install openssh-server
- 启动:sudo systemctl start ssh
- 自启:sudo systemctl enable ssh
- FTP(仅当你必须使用明文FTP时):
- 安装/启动/自启vsftpd:
- 安装:sudo apt install vsftpd
- 启动:sudo systemctl start vsftpd
- 自启:sudo systemctl enable vsftpd
- 基本配置(/etc/vsftpd.conf):确保启用本地登录与写入
- local_enable=YES
- write_enable=YES
- 修改后重启:sudo systemctl restart vsftpd
以上可确保对应服务处于可用状态,避免因服务未运行导致“拒绝连接”。
四 FileZilla客户端设置要点
- 站点管理器关键项:
- 协议:SFTP - SSH File Transfer Protocol(或FTP - File Transfer Protocol)
- 主机:服务器IP/域名;端口:22(SFTP)/ 21(FTP)
- 登录类型:正常;填写用户名/密码
- 加密(FTP):建议选要求显式FTP over TLS
- 超时与模式:
- 超时:编辑→设置→连接→将超时时间调至30–60秒(默认20秒),避免高延迟误判为失败。
- 模式:FTP在“站点管理器→传输设置→FTP”中切换主动/被动模式重试;被动模式更适合客户端位于防火墙/NAT后的环境。
- 日志定位:查看→消息日志,依据提示(如“Connection refused”“Timeout”)快速定位是认证、端口、还是网络问题。
五 常见错误对照与处理
| 症状 |
可能原因 |
快速处理 |
| Connection refused(连接被拒绝) |
目标端口无服务监听、协议/端口填错、服务未启动 |
核对协议与端口(SFTP=22,FTP=21);确认SSH/FTP服务已启动;检查防火墙放行 |
| Timeout(超时) |
网络不通、防火墙拦截、NAT/路由限制 |
先ping测试;放行22/21端口;FTP尝试切换主动/被动模式;必要时更换网络(如手机热点)对比 |
| 认证失败 |
用户名/密码错误、SSH禁用密码登录 |
重新核对凭据;如使用密钥登录请在FileZilla配置私钥;必要时检查服务器sshd配置是否允许密码认证 |
| 数据连接建立失败(仅FTP) |
被动模式数据端口未放行 |
在FileZilla启用被动模式;服务器/防火墙放行FTP数据端口范围(如30000:31000/tcp) |
| 新装系统FTP不可用 |
未安装或未启动vsftpd |
安装并启动vsftpd,按需调整配置后重启服务 |