温馨提示×

CentOS FileZilla连接失败怎么解决

小樊
44
2025-12-17 09:16:53
栏目: 智能运维

CentOS 上 FileZilla 连接失败的排查与解决

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

  • 优先使用 SFTP(端口 22):在 FileZilla 站点管理器选择 SFTP - SSH File Transfer Protocol,主机填 CentOS 的 IP,端口 22,协议选 SFTP。SFTP 基于 SSH,通常更稳定、更安全,且无需额外 FTP 服务。若 SFTP 能连上,问题多半出在 FTP 侧配置或防火墙。若 SFTP 不通,再按下方步骤排查网络与 SSH。

二、SFTP 连不上的排查步骤

  • 网络与地址
    • 在 CentOS 执行 ip addr 确认网卡(如 ens33)已获取 IP,并确保与客户端网络互通(同网段或可路由)。虚拟机场景注意桥接/NAT 设置是否正确。
  • SSH 服务
    • 检查并启动 SSH:sudo systemctl status sshd(或 ssh);未运行则 sudo systemctl start sshd;必要时设为开机自启:sudo systemctl enable sshd
  • 防火墙放行
    • firewalld:sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload
    • 或放行端口:sudo firewall-cmd --permanent --add-port=22/tcp && sudo firewall-cmd --reload
  • 虚拟机网络
    • 如使用 VMware,可在“虚拟网络编辑器”尝试 还原默认设置,并将 VMnet0 设为桥接 到主机网卡,再重启网络或系统测试。
  • 认证与日志
    • 确保使用正确的 用户名/密码;若仍失败,查看认证日志定位:/var/log/secure(RHEL/CentOS)或 /var/log/auth.log(Debian/Ubuntu)。必要时在 /etc/ssh/sshd_configPasswordAuthentication yes 后重启 SSH 服务。

三、必须用 FTP 时的排查步骤

  • 安装并启动 vsftpd
    • 安装:sudo yum -y install vsftpd;启动:sudo systemctl start vsftpd;开机自启:sudo systemctl enable vsftpd;状态:sudo systemctl status vsftpd
  • 端口监听
    • 确认 21 端口监听:sudo netstat -anp | grep ‘:21\b’。若未监听,检查 vsftpd 是否运行及配置。
  • 防火墙放行
    • firewalld:sudo firewall-cmd --permanent --add-service=ftp && sudo firewall-cmd --reload
    • 或放行端口:sudo firewall-cmd --permanent --add-port=21/tcp && sudo firewall-cmd --reload
  • 登录被拒 530 的常见处理
    • 检查是否被禁止登录:在 /etc/vsftpd/ftpusers/etc/vsftpd/user_list 中移除对应用户名(如 root)的禁用条目。
    • 若仍 530,检查 PAM 限制:编辑 /etc/pam.d/vsftpd,将 auth required pam_shells.so 注释或替换为 auth required pam_nologin.so,然后 sudo systemctl restart vsftpd。此问题常见于使用 /sbin/nologin 等 shell 的 FTP 用户。

四、FileZilla 站点配置要点

  • 协议选择:FTP 选 FTP - File Transfer Protocol;SFTP 选 SFTP - SSH File Transfer Protocol
  • 主机与端口:主机填 CentOS IP;SFTP 端口 22;FTP 端口 21
  • 登录类型:选择 正常,填入 用户名/密码(或密钥,若 SFTP 配置了密钥登录)。
  • 加密与被动模式(FTP):若服务器不支持加密,可在站点管理器的“加密”中选择 只使用明文 FTP(不安全);FTP 在 NAT/云环境下建议开启 被动模式(PASV) 并配置合适端口范围与防火墙放行。

五、常见报错对照与处理

  • Network error: Connection timed out:多为网络不通或 SSH/FTP 服务未启动防火墙阻断虚拟机网络模式不当。依次检查 IP 可达性、服务状态、放行规则与 VMware 网络设置。
  • Connection refused:端口未监听或服务未运行。确认 sshdvsftpd 已启动并监听 22/21,以及防火墙放行。
  • 530 Login incorrect:账号/密码错误或配置限制。核对凭据,检查 /etc/vsftpd/ftpusers/etc/vsftpd/user_list,以及 /etc/pam.d/vsftpdpam_shells.so 限制。
  • 不安全的服务器,不支持 FTP over TLS:客户端期望加密而服务器未启用 TLS。可切换为 SFTP,或在 FTP 服务器启用 TLS/SSL 并在客户端选择相应加密方式。

0