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 应用打开。右键单击应用选择"打开",或前往系统设置 > 隐私与安全性手动允许。