修复 NetDrive 中的 SFTP 身份验证失败 — 密钥、密码与端口
排查 NetDrive 中的 SFTP 身份验证错误:SSH 密钥格式问题、端口设置错误、主机密钥验证失败,以及 Windows 和 macOS 上的密码被拒绝问题。
你在 NetDrive 中添加了一个 SFTP 连接,点击了连接,却得到了身份验证错误——或者驱动器在三十秒后无声地超时了。SFTP 身份验证失败是挂载 Linux 服务器、NAS 设备和共享主机账户时最常见的障碍。几乎每一个案例都能追溯到三大根源之一:凭据或主机设置错误、SSH 密钥格式不匹配,或主机密钥缓存中的过期条目。

将任意 SFTP 服务器挂载为本地驱动器
NetDrive 让 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 和 macOS 上显示为本地驱动器 — 无需同步,无需完整下载。
- 同时支持密码和 SSH 密钥身份验证
- 适用于 Linux 服务器、Synology/QNAP NAS 以及各类主机账户
- 支持 Windows 和 macOS
免费试用。提供终身与订阅方案。
将症状对应到原因
在改动任何设置之前,先确认你遇到的是哪种症状:
| 症状 | 最可能的原因 |
|---|---|
| 立即出现”身份验证失败” | 用户名、密码错误,或密钥未被接受 |
| 挂起 30–60 秒后超时 | 主机名或端口错误;防火墙阻挡了 22 端口 |
| ”主机密钥验证失败” | 首次连接该主机,或服务器指纹已变更 |
| 挂载后短暂运行即断开 | 服务器端空闲超时或网络不稳定 |
本文将介绍前三种情况的解决方法。如果你的挂载在空闲一段时间后断开,修复 macOS 睡眠后挂载断开问题 中的保活模式同样适用于 SFTP。
修复 1:核实凭据与主机设置
打开 NetDrive 的 Drive Manager,选择你的 SFTP 驱动器,点击 Edit。逐一仔细检查以下字段:
- Host —— 服务器的主机名或 IP 地址,不要带任何
sftp://前缀。NetDrive 会自动添加协议。此处末尾多一个斜杠会导致解析失败。 - Port —— SFTP 默认端口为 22。如果你的服务器管理员将 SSH 移到了非标准端口(一种常见的加固措施),请显式填写该端口。当服务器监听 2222 端口而你却连接 22 端口时,会产生超时而非”身份验证失败”提示——正因如此,这一点常被忽略。
- Username —— 区分大小写。在 Linux 系统上,
Admin和admin是不同的账户。 - Password —— 即使字段看起来已填写,也请重新输入一次。已保存的凭据在服务器端密码轮换后可能会悄然失效。

更新任意字段后,请点击 Connect 而不仅仅是保存。NetDrive 只在实际发起连接尝试时才验证凭据,保存时不会验证。

修复 2:SSH 密钥格式问题
SSH 密钥身份验证比密码更安全,但 NetDrive 要求私钥采用 PEM 格式——即以 -----BEGIN RSA PRIVATE KEY----- 开头的 RSA 密钥,或以 -----BEGIN EC PRIVATE KEY----- 开头的 ECDSA 密钥。现代 OpenSSH 版本默认会生成较新格式的密钥(-----BEGIN OPENSSH PRIVATE KEY-----),而这种格式 NetDrive 并不接受。
要在生成密钥的那台机器上将 OpenSSH 格式的密钥转换为 PEM 格式:
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
此命令会就地重写私钥文件。运行前请先备份。
在 NetDrive 的 SFTP 驱动器设置中:
- 将 Auth type 设置为 Key,而不是 Password。
- 在 Private key file 下,浏览并选择本地机器上的
.pem私钥文件。 - 如果密钥设有口令,请在 Key passphrase 中输入。
- 确认对应的公钥已存在于远程服务器的
~/.ssh/authorized_keys中。
一个快速的服务器端检查方法:在终端运行 ssh -v user@hostname,可以看到服务器提供了哪些身份验证方式,以及它接受哪些密钥。输出中包含 Offering public key 和 Server accepts key 的行,就能在完全不涉及 NetDrive 的情况下确认密钥配对是否正确。
修复 3:过期的主机密钥验证
当 NetDrive 首次连接某个 SFTP 主机——或者由于硬件更换、系统重装、IP 地址被重新分配等原因导致服务器的 SSH 指纹发生变化——它可能会因主机密钥错误而拒绝连接。
NetDrive 会将已接受的主机密钥存储在其内部的 known-hosts 缓存中。要清除过期条目:
- 在 Drive Manager 中,选择你的 SFTP 驱动器并打开 Edit。
- 在高级设置面板中找到 Clear known hosts 或 Reset host key 选项。
- 重新连接。NetDrive 会提示你接受新的指纹。
在接受已变更的指纹之前,请从一台已能通过 SSH 访问该服务器的机器上运行 ssh-keyscan -t rsa hostname 独立核实,然后将输出与 NetDrive 显示的内容进行比对。在生产服务器上接受一个意外的指纹,会带来实质性的安全风险。

总结
NetDrive 中的 SFTP 身份验证失败,几乎总是归结为凭据、密钥格式或主机配置问题,而非 NetDrive 本身的问题。按顺序逐一排查这三项——先凭据,再密钥格式,最后是主机密钥缓存——你就能在几分钟内定位问题所在。如果这些方法都无法解决问题,请在 NetDrive 首选项中启用详细日志记录,并将日志发布到 support.bdrive.com 以便进一步诊断。
相关阅读:修复 WebDAV Synology 连接错误 与 修复 NetDrive 中的 S3 访问被拒绝错误。
— Tayson, NetDrive