跳到主要内容
AnyStorage
免费下载

SFTP 网络驱动器

把 SFTP 挂载成网络驱动器:Windows 原生做不到,那就绕过去

Windows 没有原生方式把 SFTP 挂载成网络驱动器,Finder 也不行。这里给出一条不装任何驱动的路线:本地 WebDAV 端点加一次映射。

不装 WinFsp、不装 macFUSE,把 SFTP 或 FTP 服务器变成资源管理器和 Finder 里的一个盘。

SFTP 挂载网络驱动器,SFTP 映射盘符,sshfs 替代

资源管理器只会说 FTP,而且说得磕磕绊绊

"添加一个网络位置"这个向导从 XP 时代活到 Windows 11,它认识的是普通 FTP。SFTP 跑在 SSH 会话里,任何一个版本的 Windows 都没给它留过映射盘符的口子。macOS 也没好到哪去,Finder 能只读打开 ftp:// 地址,SFTP 干脆不认。

于是每天都会遇到一件很别扭的事:一条 ssh 命令就能进去的机器,在文件管理器眼里根本不存在。

老办法,以及它们的代价

  • Windows 上装 sshfs-win:得先装 WinFsp,那是一个内核态文件系统驱动,然后再装上面那层 sshfs。
  • macOS 上装 sshfs:依赖 macFUSE。Apple Silicon 机器要重启进恢复模式,把安全策略降到"降低安全性"以允许第三方内核扩展,重启,再去系统设置里点一次允许。macOS 大版本升级之后,这一套多半还要重来。
  • 商业挂载驱动:驱动带来的麻烦一样不少,另外还要付费。
  • 只用 FileZilla 之类的传输工具:传文件没问题,但文件对别的程序不可见。编辑器打不开远程配置,播放器也没法指过去。

这些方案本身没什么问题。只是为了"想要一个文件夹",代价是往内核里塞东西。

用 AnyStorage 把 SFTP 挂载成网络驱动器

AnyStorage 走的是另一条路:它以客户端身份连 SFTP,跟任何传输工具一样,然后把当前已连接的存储通过一个跑在本机的 WebDAV 服务重新暴露出来。系统挂载的是本机这个端点,不是你的 SFTP 服务器。没有内核扩展,不用 WinFsp,不需要管理员权限,也没有配置文件要手改。

完整流程是这样的。先在 AnyStorage 里加好 SFTP 连接并打开一次,让它处于已连接状态。然后到侧边栏的"服务",切到 WebDAV 标签页,点 Start。默认地址是 http://127.0.0.1:3211,HTTP Basic 认证始终开启,用户名默认 anystorage,密码首次使用时随机生成 24 位。用户名密码都能改,旁边有重新生成按钮,地址、用户名、密码各有一个复制按钮。3211 端口如果被占了,改成别的也行。

接下来用系统自带的功能挂载。

  • macOS:Finder 的"前往"菜单里选"连接服务器",或者直接按 Cmd+K,粘贴 http://127.0.0.1:3211,选注册用户,填 App 里那组用户名密码。
  • Windows:文件资源管理器,此电脑,映射网络驱动器,粘贴同一个地址。动手之前先看下一节。
  • Linux:任何支持 WebDAV 的文件管理器,比如 GNOME Files 的"其他位置"里填 dav://127.0.0.1:3211。

App 里当前处于连接状态的每一个存储,都会以连接名命名,作为一个文件夹出现在 WebDAV 根目录下。你的群晖 SFTP、云服务器和阿里云盘、OSS 会并排躺在同一个挂载点里。

有个行为值得提前知道,免得你以为出了 bug:连接是懒加载的。App 重启之后,需要在界面里把那个 SFTP 连接打开一次,它才会出现在 WebDAV 根目录。之后新加的连接不用重启服务就能看到。

还有两件事我们更愿意写在正文而不是脚注里。免费版的 WebDAV 服务是只读的,读写属于 Pro;Pro 用户也可以主动把它锁成只读。当前版本没有 TLS,端点就是明文 http,所以默认只绑 127.0.0.1。局域网模式是有的,打开时 App 会明确警告,因为那意味着 Basic 认证的账号密码会明文过网络。

坑基本都在 Windows 自带的 WebDAV 客户端上

服务端这边现在是简单的一半,难缠的是 Windows 的客户端。

  • WebClient 服务在 2026 年已经是被微软标记为弃用的状态,而且默认多半没在跑。映射之前先去 services.msc 把它启动。
  • Windows 默认拒绝在明文 http 上用 Basic 认证。HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 下的 BasicAuthLevel 默认是 1,也就是只允许 SSL 上的 Basic。改成 2 并重启 WebClient 服务。不改的话,报错大意是"输入的文件夹无效"(英文原文 The folder you entered does not appear to be valid),或者系统错误 67、0x80070043,字面上完全看不出跟认证有关。
  • FileSizeLimitInBytes 默认 50,000,000 字节,是 50 MB 不是 50 GB。超过就以 0x800700DF 失败。最大能提到 0xFFFFFFFF,大约 4 GB,改完同样要重启 WebClient。

嫌烦就绕开:第三方 WebDAV 客户端没有这些限制,而真正的大文件交给 AnyStorage 自己的传输界面更省心,那边没有 4 GB 上限。

它适合干什么,不适合干什么

小事上很好用。把 VPS 上昨天的日志从 Finder 窗口拖出来;打开服务器的 uploads 目录,用空格键一路预览过去;改个配置文件用顺手的编辑器,而不是在跳板机上跟 vim 较劲。FTP 连接同理,在 App 里它只是另一种连接类型。

延迟是必须说清楚的边界。到 127.0.0.1 这一跳几乎不花时间,但 Finder 或资源管理器每次列目录,仍然是实打实地打到你的 SFTP 服务器上。一个两万个条目的目录,通过 SSH 看还是那么慢。读取走 HTTP range 流式传输,所以在大文件里拖进度条不需要先下完整个文件,这一点的体感提升比想象中大。

有些事它就是做不到。没有文件锁,两台机器同时编辑同一个远程文件不受保护。根目录下那些连接文件夹不能通过挂载删除或改名;两个不同连接之间也没法直接在挂载里互相拷贝,要么先下到本地再传上去,要么回 App 里做。批量迁移这种活,还是交给传输界面,进度和重试都看得见。