檔案總管只認 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,選註冊使用者,填入程式裡那組帳號密碼。
- Windows:檔案總管、本機、連線網路磁碟機,貼上同一個位址。動手前先看下一段。
- Linux:任何支援 WebDAV 的檔案管理程式,例如 GNOME Files 的「其他位置」填 dav://127.0.0.1:3211。
程式裡目前處於連線狀態的每一個儲存空間,都會以連線名稱當資料夾名,出現在 WebDAV 根目錄底下。你的群暉 NAS SFTP、VPS,跟 S3 或雲端硬碟會並排放在同一個掛載點裡。
有個行為先講清楚,免得你以為壞掉了:連線是延遲建立的。程式重新啟動之後,要在介面裡把那個 SFTP 連線開啟一次,它才會出現在 WebDAV 根目錄。之後新增的連線則不必重啟服務就看得到。
另外兩件事我們寧可寫在正文,也不想塞進小字。免費版的 WebDAV 服務是唯讀的,讀寫屬於 Pro 授權;Pro 使用者也可以自己把它固定成唯讀。目前版本沒有 TLS,端點就是純 http,所以預設只綁 127.0.0.1。區域網路模式存在,但開啟時程式會明確警告,因為那代表 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 上昨天的 log 從 Finder 視窗直接拖出來;打開伺服器的 uploads 資料夾,用空白鍵一路預覽;設定檔用慣用的編輯器改,不必在跳板機上跟 vim 搏鬥。FTP 連線也一樣,在程式裡它只是另一種連線類型。
延遲是要講明白的邊界。到 127.0.0.1 這一跳幾乎不花時間,但 Finder 或檔案總管每次列出目錄,還是實實在在打到你的 SFTP 伺服器。兩萬個項目的資料夾,透過 SSH 看仍舊是那個速度。讀取走 HTTP range 串流,所以在大檔案裡拉時間軸不需要先下載整份檔案,這點的體感差異比預期明顯。
有些事它就是做不到。沒有檔案鎖定,兩台機器同時編輯同一份遠端檔案並不受保護。根目錄下的連線資料夾無法透過掛載刪除或改名,兩個不同連線之間也不能直接在掛載裡互相複製,得先下載到本機再上傳,或回程式裡處理。大批次搬移這類工作,還是交給傳輸畫面,進度和重試都看得到。