技术支持
先看看下面的常见问题;没找到答案,就给我们写信。
常见问题
连接失败怎么办?
连接失败时,窗口里会同时显示一句人话解释和服务器返回的原始错误(例如 530 Login incorrect),按原始错误对症处理:
- 超时 / 无法连接到 host:port:检查地址和端口(SFTP 默认 22,FTP / FTPS 默认 21)、本机网络和 VPN、服务器防火墙或云厂商安全组是否放行。连接超时为 10 秒。
- 认证失败:点失败页的「编辑服务器」,直接定位到密码栏重新输入;私钥登录请确认服务器
~/.ssh/authorized_keys里有对应公钥。 - 协议选错:对 22 端口用了 FTP、或对 21 端口用了 SFTP,都会连接失败。
提示「主机指纹已变化」,连接被拦下了?
这是在保护你。MomentFTP 第一次连接 SFTP 服务器时会记住它的 SHA256 主机指纹,之后指纹一旦变化就红色阻断,默认按钮是「断开」。
常见的正常原因:服务器重装了系统、管理员轮换了主机密钥、同一个 IP 换了一台机器。也可能是有人在中间人攻击。
请先找服务器管理员核对新指纹(服务器上执行 ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub),确认一致后再点「仍然信任新指纹」。
FTPS 连接时弹出「确认服务器证书」?
说明这台服务器用的是 macOS 无法验证的证书,最常见的是 NAS 或内网服务器的自签证书。弹窗会展示证书主题、签发者、有效期和 SHA256 指纹。
请向管理员核对指纹(服务器上执行 openssl x509 -in 证书.pem -noout -fingerprint -sha256),一致后选「信任并连接」,以后不再询问;只想这次用一下就选「仅本次连接」。证书之后若发生变化,会像 SSH 指纹一样被阻断。
窗口头部的橙色「明文」标记是什么意思?
表示这台服务器用的是 FTP:账号、密码和文件内容在网络上都不加密,同一网络里的人可以抓包看到。
建议只在可信的内网里用 FTP;服务器支持的话,改用 SFTP 或 FTPS(在「编辑服务器」里切换协议即可,端口会自动跟随默认值)。
传输失败,提示「权限不足(Permission denied)」?
说明你登录的账号对目标目录或文件没有读写权限。失败的任务会留在传输队列的「失败」页签,错误写在那一行上,悬停能看到服务器原文。
- 上传失败:确认目标目录属于你的账号或对你可写;SFTP 服务器上可右键文件夹 › 权限,调整 rwx(需要你有权修改它)。
- 下载失败:确认远程文件对你可读,且本机目标文件夹可写。
调整之后在队列里点「重试」即可。
FTP 服务器上的中文文件名显示成乱码?
一些老的 Windows / IIS FTP 服务器和部分 NAS 使用 GBK 编码文件名。打开「编辑服务器」› 展开「高级」› 把「编码」改为 GBK(默认「自动」会先按 UTF-8 解码,失败再尝试 GBK),保存后重新连接即可。
传输显示「已停滞,等待网络…」?
某个任务连续 5 秒没有收到数据时会显示为「已停滞」(黄色)。通常是网络抖动、VPN 断开、Wi-Fi 切换或服务器繁忙。
- 网络恢复后传输会继续;如果最终失败,会进入「失败」页签,点「重试」重新开始这个文件。
- 当前版本暂不支持断点续传,大文件重试会从头开始。
- 同时传很多文件时,可以先「全部暂停」,排查网络后再继续。
第一次浏览「桌面」「文稿」「下载」时,为什么要授权?
这是 macOS 的隐私保护:任何 App 第一次读取这些文件夹都要经过你的同意。点「允许」即可。
如果之前点了「不允许」,本机窗格会显示引导页,点其中的「打开系统设置」,在「隐私与安全性 › 文件与文件夹」里给 MomentFTP 打开对应开关,然后回到 App 刷新。
怎么导出诊断信息发给你们?
MomentFTP 不会自动上传任何诊断信息,需要你手动导出:
- 运行日志:打开「终端」,执行
log show --last 1h --info --predicate 'subsystem == "com.moment.ftp"' > ~/Desktop/MomentFTP-log.txt
桌面上会生成日志文件。日志不包含密码、私钥口令,地址和路径默认显示为<private>。 - 崩溃报告(如果 App 闪退):在访达中按 ⇧⌘G,前往
~/Library/Logs/DiagnosticReports,找名字以MomentFTP开头的.ips文件。 - 失败页截图:连接失败页会显示服务器原始错误,截图一并发来。
发送前可以先打开看看,删掉你不想分享的内容。
私钥登录失败,或者列表里找不到我的私钥?
支持 OpenSSH 格式(-----BEGIN OPENSSH PRIVATE KEY-----)和 PEM 格式(如 BEGIN RSA PRIVATE KEY)的私钥,包括带口令的私钥;Ed25519、ECDSA、RSA 均可。
连接面板会自动列出 ~/.ssh 下的私钥;不在那里的私钥可以手动选择文件。PuTTY 的 .ppk 格式暂不支持,请先用 PuTTYgen 导出为 OpenSSH 格式。
密码保存在哪里?怎么删除?
只有勾选「保存到钥匙串」时,密码和私钥口令才会存进 macOS 钥匙串(服务名 com.moment.ftp.credential),配置文件里不保存任何密码。删除服务器时会一并删除它的钥匙串条目;也可以在「钥匙串访问」里搜索该服务名手动删除。
服务器之间互传,文件会先存到我的 Mac 上吗?
不会。两个窗口连着不同服务器时,MomentFTP 从 A 读取的同时写入 B,数据只经过本机内存,不在本机磁盘落盘。所以传输速度取决于两条链路中较慢的那条,开始前的确认框会给出预计耗时。
最多能开几个服务器窗口?
右侧最多 4 个服务器窗口,加上左侧本机。用工具栏「添加窗口」(⌘T)新增,窗口头部的 ×(⌘W)关闭;按住窗口头部拖动可以停靠到任意位置,「均分」(⌃⌘=)一键恢复等比例;⌘1~⌘4 切换窗口,⌘0 回到本机,键盘焦点会跟着切过去。调整布局不会断开任何连接,退出时布局会被记住。
怎么新建服务器分组?
点侧栏「服务器」标题右边的 + › 新建分组…(快捷键 ⇧⌘G)。侧栏会出现一个空分组并直接进入命名,输入名字后按回车确认,按 Esc 取消。
分组只有一层,里面放服务器,不能再套分组。也可以在新建 / 编辑服务器时,在「分组」下拉里选「新建分组…」。右键分组可以重命名;拖动分组标题可以调整顺序;点标题前的三角可以折叠。
怎么把服务器移进分组、或者移出来?
- 拖动:把服务器拖到分组标题或分组里;按住 ⌘ 单击可以多选、按住 ⇧ 单击可以连选,选中的服务器会一起移动。
- 右键:在服务器上点右键 › 移到分组 ›,选目标分组;选「未分组」就是移出分组。多选时作用于全部选中的服务器。
- 移出:把服务器拖到分组外面(列表顶部,或两个分组之间的空隙),它就回到「未分组」。
把服务器拖到右侧窗口里,仍然是直接连接它。
删除分组会不会把里面的服务器也删掉?
不会。删除分组时,里面的服务器会移到「未分组」,服务器配置和钥匙串里保存的密码都保留。删除空分组不会弹窗;分组里有服务器时会先确认「N 台服务器将移到未分组」。
从旧版本升级后,服务器列表变成了分组文件夹?
是的。旧版本里按名称记录的分组,会在第一次打开新版本时自动转换成分组文件夹,服务器归属不变。转换前会自动把原来的列表备份为 ~/Library/Application Support/MomentFTP/servers.v1-backup.json。升级后请不要再打开旧版本,旧版本读不懂新格式。
打开 MomentFTP 后看不到窗口怎么办?
点一下程序坞(Dock)里的 MomentFTP 图标,主窗口就会出现。早期版本偶尔会出现启动后没有窗口的情况,1.0 已修复:现在每次启动都会显示主窗口;用左上角红色按钮关掉窗口后,App 仍在运行,点 Dock 图标即可重新打开。
怎么彻底卸载?
删除 App 后,再删除 ~/Library/Application Support/MomentFTP 文件夹(从 Mac App Store 安装的版本,数据在 ~/Library/Containers/com.moment.ftp),并在「钥匙串访问」里删除 com.moment.ftp.credential 相关条目即可。
联系我们
写信时请附上:MomentFTP 版本号(菜单 MomentFTP › 关于)、macOS 版本、服务器类型(如 OpenSSH 9.x、vsftpd、群晖 NAS)、问题的复现步骤,以及上面导出的诊断信息。
我们通常会在 2 个工作日内回复。 请不要在邮件里发送密码或私钥。