FTP 连接会出问题。第一次配置时会出问题,用了几个月后突然出问题,而且报错信息往往让人摸不着头脑。本文整理了在 Mac 上最常见的 FTP 和 SFTP 连接错误,以及每种情况的修复方法。

连接超时

尝试连接后没有任何响应,等待 30–60 秒后出现超时错误。

常见原因:

  • 防火墙拦截了连接(Mac 自带防火墙、路由器防火墙或服务器防火墙)。
  • 使用了主动模式(Active FTP)而非被动模式(Passive FTP)。主动模式需要服务器主动连接回你的 Mac,大多数 NAT 路由器和防火墙都会阻断这种方式。
  • 服务器主机名或 IP 地址填写错误。
  • 服务器上的 FTP 服务未运行。

解决方法:

  • 切换到被动模式(Passive Mode):这是几乎所有现代连接的正确设置。
  • 检查 Mac 防火墙:系统设置 > 网络 > 防火墙,确保你的 FTP 应用已被允许。
  • 在终端 ping 主机名来验证:ping ftp.example.com
  • 尝试用其他工具连接(如终端的 sftp 命令),排除应用本身的问题。

连接被拒绝

连接立即被拒绝,没有任何等待过程。

常见原因:

  • 端口填错了。FTP 用 21 端口,SFTP 用 22 端口,Implicit FTPS 用 990 端口。
  • 服务器上的 FTP/SFTP 服务未运行。
  • 服务器防火墙明确屏蔽了你的 IP 地址。

解决方法:

  • 仔细核对端口号:这是最常见的原因。
  • 向服务器提供商确认 FTP/SFTP 已启用。
  • 询问你的 IP 是否需要加入白名单。

530 登录失败(Login incorrect)

连接成功,但登录被拒绝。

常见原因:

  • 用户名或密码填错了。复制粘贴有时会带入不可见的空格或换行符。
  • 账号存在但未开通 FTP 权限(某些托管面板需要单独启用 FTP)。
  • 大小写敏感。部分服务器的用户名区分大小写。

解决方法:

  • 手动输入凭据,不要复制粘贴。
  • 登录托管控制面板,确认 FTP 账号处于激活状态。
  • 尝试用终端直连,查看服务器原始返回信息:ftp ftp.example.com

425 无法打开数据连接

登录成功,但浏览文件或传输文件时报 425 错误。

常见原因:

  • 主动/被动模式不匹配,服务器无法建立数据通道。
  • FTPS 场景下:控制连接和数据连接之间的 TLS 会话复用失败。

解决方法:

  • 切换到被动模式。
  • FTPS 场景下,尝试将 Implicit 模式(990 端口)改为 Explicit 模式(21 端口),或反过来。
  • 部分服务器要求特定 TLS 版本,尝试在客户端设置中限定为 TLS 1.2。

SSL/TLS 握手失败

仅出现在 FTPS 连接中:加密协商失败。

常见原因:

  • 服务器 SSL 证书已过期。
  • 用普通 FTP 连接了需要 FTPS 的端口,或反过来。
  • TLS 版本不匹配:服务器要求 TLS 1.2,但客户端在尝试 TLS 1.0。
  • 自签名证书,客户端不信任。

解决方法:

  • 确认连接类型选的是 FTPS 而非普通 FTP。
  • 分别尝试 Explicit 和 Implicit 两种 FTPS 模式。
  • 如果服务器使用自签名证书,检查客户端是否有"接受此证书"的选项。
  • 联系服务器管理员,确认证书有效期和 TLS 版本配置是否正确。

主机密钥验证失败(SFTP)

仅出现在 SFTP 连接中:Mac 拒绝连接,因为服务器的 SSH 密钥与预期不符。

常见原因:

  • 服务器被重装,SSH 密钥已重新生成。
  • 首次连接时启用了严格主机检查。
  • 潜在的中间人攻击(较为罕见,但这正是此警告存在的原因)。

解决方法:

  • 如果确认服务器已重装,删除旧密钥:ssh-keygen -R 主机名
  • 重新连接并在提示时接受新密钥。
  • 如果并未预期密钥变更,请先与服务器管理员核实再接受。

权限被拒绝

连接和登录都成功,但无法读取文件、写入文件或访问某些目录。

常见原因:

  • FTP 用户对目标目录没有读写权限。
  • 服务器上目录的所有权与 FTP 用户不匹配。
  • chroot/jail 限制,无法跳出主目录范围。

解决方法:

  • 联系服务器管理员确认账号权限。
  • 检查 FTP 客户端中填写的远程路径是否正确,且你的用户有访问权限。
  • 在你管理的服务器上,验证目录权限:ls -la /路径/到/目录

macOS 特有问题

以下是一些 macOS 特有的情况:

  • macOS 从 High Sierra(10.13)起已移除内置 FTP 服务器。如果需要在 Mac 上运行 FTP 服务器,需要安装第三方软件。
  • macOS 大版本升级可能导致 SFTP 中断。Monterey 等版本升级后曾有报告称 Cyberduck、Transmit 等应用的 SFTP 连接异常。重启 Mac 或重置 SSH 配置通常可以解决。
  • Gatekeeper 警告可能阻止新下载的 FTP 应用打开。右键单击应用选择"打开",或前往系统设置 > 隐私与安全性手动允许。