温馨提示×

Ubuntu上FileZilla连接失败怎么解决

小樊
47
2025-11-08 15:44:30
栏目: 智能运维

1. 检查服务器端服务状态

确保Ubuntu服务器上已安装并启动SSH服务(SFTP依赖SSH)或FTP服务(如vsftpd)。

  • SSH服务检查
    运行sudo systemctl status ssh,若显示active (running)则表示运行正常;若未运行,执行sudo systemctl start ssh启动,并用sudo systemctl enable ssh设置开机自启。
  • FTP服务检查(若使用FTP协议):
    若未安装vsftpd,运行sudo apt install vsftpd安装;启动服务sudo systemctl start vsftpd,并设置开机自启sudo systemctl enable vsftpd

2. 验证防火墙设置

Ubuntu默认使用ufw防火墙,需允许FTP(端口21)或SSH(端口22)流量:

  • 允许SSH:sudo ufw allow 22/tcp
  • 允许FTP:sudo ufw allow 21/tcp
  • 启用防火墙(若未启用):sudo ufw enable
  • 检查状态:sudo ufw status(确认规则已添加)。

3. 确认FileZilla配置正确性

打开FileZilla→站点管理器新站点,检查以下设置:

  • 协议:若使用SFTP选“SFTP - SSH File Transfer Protocol”(默认端口22);若使用FTP选“FTP - File Transfer Protocol”(默认端口21)。
  • 主机:输入服务器IP地址或域名。
  • 用户名/密码:输入服务器上的有效账户信息。
  • 传输模式:优先选择“被动模式”(解决部分网络环境下连接中断问题)。

4. 排查网络连通性问题

在客户端电脑上执行ping <服务器IP>,若无法ping通,说明网络不通(需检查服务器IP、路由器设置或运营商网络);若能ping通,继续用telnet <服务器IP> 22(SFTP)或telnet <服务器IP> 21(FTP)测试端口连通性,若提示“Connection refused”,则服务器未开放对应端口。

5. 检查服务器端配置文件

  • SSH配置/etc/ssh/sshd_config):
    sudo vim /etc/ssh/sshd_config打开文件,确保以下设置未被注释(若有则修改):
    PermitRootLogin yes(允许root登录,若需root权限)、PasswordAuthentication yes(允许密码认证)。修改后重启SSH:sudo systemctl restart ssh
  • FTP配置/etc/vsftpd.conf,仅FTP协议):
    确保以下设置正确:local_enable=YES(允许本地用户登录)、write_enable=YES(允许上传/修改文件)、chroot_local_user=YES(限制用户到自家目录,提升安全性)。修改后重启vsftpd:sudo systemctl restart vsftpd

6. 查看日志定位具体问题

  • FileZilla日志:连接失败时,FileZilla界面底部的“消息日志”会显示详细错误(如“Connection refused”“Timeout”),根据提示针对性解决。
  • 服务器日志
    • SSH日志:sudo tail -f /var/log/auth.log(实时查看SSH连接日志);
    • FTP日志:sudo tail -f /var/log/vsftpd.log(vsftpd的日志路径,若未开启需修改/etc/vsftpd.conf中的xferlog_enable=YES)。

7. 其他常见问题排查

  • 被动模式端口范围(仅FTP):若使用被动模式,需在vsftpd.conf中设置pasv_min_portpasv_max_port(如pasv_min_port=60000pasv_max_port=61000),并在防火墙中开放该端口范围。
  • 用户权限问题:确保FTP/SSH用户对目标目录有读写权限(chmod 755 /path/to/directory)。
  • SELinux问题(若启用):若服务器启用了SELinux,需调整策略允许FTP/SSH访问(setenforce 0临时关闭,或修改/etc/selinux/config)。

0