温馨提示×

CentOS FileZilla无法连接怎么办

小樊
34
2025-12-17 09:15:02
栏目: 智能运维

CentOS 上 FileZilla 无法连接的排查与修复

一、先选对协议与快速验证

  • 优先使用 SFTP(端口 22):在 FileZilla 站点管理器选择 SFTP - SSH File Transfer Protocol,主机填 CentOS 的 IP,端口 22,协议选 SFTP,认证用 用户名/密码密钥。SFTP 基于 SSH,通常更稳定、更安全。若 SFTP 能连,而 FTP 不行,问题多半在 FTP 服务或被动模式配置。若 SFTP 也连不上,转向网络与 SSH 排查。
  • 若必须用 FTP(端口 21):确保系统已安装并运行 vsftpd,且防火墙放行 21 端口(或放行 FTP 服务),并在 FileZilla 使用 FTP - Explicit over TLS(推荐)或普通 FTP。

二、SFTP 连不上时的排查清单

  • 网络与地址
    • 在客户端执行:ping <CentOS_IP>;在 CentOS 执行:ip addr 确认网卡(如 ens33)已获取 IP。虚拟机场景确认网络模式(桥接/NAT)与主机可达性。
  • SSH 服务
    • 检查状态:sudo systemctl status sshd;未运行则启动:sudo systemctl start sshd;必要时设为开机自启:sudo systemctl enable sshd。
  • 防火墙
    • firewalld:sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload。
    • 如仍不通,临时排查可:sudo systemctl stop firewalld(测试后记得恢复)。
  • 虚拟机网络
    • 如使用 VMware,可在“虚拟网络编辑器”尝试 还原默认设置,并将 VMnet0 设为桥接 到主机网卡,再重启网络/系统测试。
  • 认证与日志
    • 确认用户名/密码正确;若使用密钥,确保私钥已加载到 Pageant 或 FileZilla 指定。
    • 查看认证日志定位失败原因:/var/log/secure(RHEL/CentOS)或 /var/log/auth.log(Debian/Ubuntu)。
  • 连接参数
    • 站点管理器里协议选 SFTP,端口 22,登录类型选 正常密钥,主机填 CentOS 的 IP

三、必须用 FTP 时的排查清单

  • 服务与端口
    • 安装:sudo yum -y install vsftpd;启动:sudo systemctl start vsftpd;开机自启:sudo systemctl enable vsftpd。
    • 检查监听:ss -tlnp | grep :21 或 netstat -an | grep ‘21’,应看到 0.0.0.0:21 LISTEN
  • 防火墙
    • firewalld:sudo firewall-cmd --permanent --add-service=ftp && sudo firewall-cmd --reload;或放行端口:sudo firewall-cmd --permanent --add-port=21/tcp --permanent && sudo firewall-cmd --reload。
  • 被动模式(PASV)
    • 编辑 /etc/vsftpd/vsftpd.conf,开启并限制端口范围,例如:
      • pasv_enable=YES
      • pasv_min_port=10090
      • pasv_max_port=10100
    • 在 firewalld 放行该端口段:sudo firewall-cmd --permanent --add-port=10090-10100/tcp && sudo firewall-cmd --reload。
  • 常见登录报错
    • 530 Login incorrect:检查 /etc/vsftpd/ftpusers 与 /etc/vsftpd/user_list 是否禁用了该用户;若使用 nologin 等 shell,可能因 PAM 限制失败,编辑 /etc/pam.d/vsftpd,注释或调整 auth required pam_shells.so 后重启 vsftpd。
  • 客户端设置
    • 协议选 FTP - Explicit over TLS(推荐)或普通 FTP;若服务器不支持 TLS,可尝试普通 FTP,但存在明文传输风险。

四、常见报错对照与处理

现象 可能原因 快速处理
Network error: Connection timed out 网络不通、SSH/FTP 未运行、防火墙阻断、虚拟机网络模式不当 ping 测试;确认 sshd/vsftpd 运行;放行 22/21 或 SSH/FTP 服务;检查桥接/NAT 与 VMware 虚拟网络设置
Connection refused 目标端口未监听(sshd/vsftpd 未启动或配置错误) 启动服务(sshd/vsftpd);核对监听端口与协议
530 Login incorrect 用户名/密码错误、被 user_list/ftpusers 禁用、PAM 限制(如 pam_shells.so 与 nologin 冲突) 核对凭据;检查禁用列表;按需调整 /etc/pam.d/vsftpd 并重启 vsftpd
不安全的服务器,不支持 FTP over TLS 客户端要求 TLS,服务器未启用 在 vsftpd 启用 TLS/SSL,或改用普通 FTP(不推荐)
数据连接建立失败(被动模式) 防火墙未放行 PASV 端口段 在 vsftpd.conf 设置 pasv_min_port/pasv_max_port,并在防火墙放行对应端口段

五、建议的最小可行配置示例

  • SFTP(推荐)
    • 服务端:确保 sshd 运行并放行 22/tcp(firewall-cmd --permanent --add-service=ssh && firewall-cmd --reload)。
    • FileZilla:协议 SFTP,主机 ,端口 22,登录类型 正常/密钥
  • FTP(可选)
    • 服务端:安装并启动 vsftpd;/etc/vsftpd/vsftpd.conf 启用 PASV 端口段(如 10090–10100);放行 21/tcp10090–10100/tcp
    • FileZilla:协议 FTP - Explicit over TLS,主机 ,端口 21

0