修復 NetDrive SFTP 認證失敗 — 金鑰、密碼與連接埠

閱讀時間 6 分鐘 troubleshooting sftp
Tayson
TaysonSenior Engineer
排解 NetDrive 的 SFTP 認證錯誤:SSH 金鑰格式問題、連接埠設定錯誤、主機金鑰驗證失敗,以及 Windows 與 macOS 上密碼遭拒的情況。

你在 NetDrive 中新增了一個 SFTP 連線,點擊 Connect 後卻出現認證錯誤——或是磁碟機在三十秒後悄悄逾時。SFTP 認證失敗是掛載 Linux 伺服器、NAS 裝置及共享主機帳戶時最常見的障礙。幾乎每個案例都能追溯到三個根本原因之一:憑證或主機設定錯誤、SSH 金鑰格式不符,或過期的主機金鑰快取項目。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

將任何 SFTP 伺服器掛載為原生磁碟機

NetDrive 讓 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 與 macOS 上顯示為原生磁碟機 — 不需同步,也不需完整下載。

  • 同時支援密碼與 SSH 金鑰認證
  • 相容於 Linux 伺服器、Synology/QNAP NAS 及主機代管帳戶
  • 提供 Windows 和 macOS 版本
WindowsmacOS
下載 NetDrive →

免費試用。提供終身與訂閱方案。

將症狀對應到原因

在調整任何設定之前,先確認你遇到的是哪種症狀:

症狀最可能的原因
立即出現「Authentication failed」使用者名稱、密碼錯誤,或金鑰未被接受
卡住 30–60 秒後逾時主機名稱或連接埠錯誤;防火牆阻擋了 22 埠
「Host key verification failed」首次連線到此主機,或伺服器指紋已變更
掛載後很快就中斷伺服器端閒置逾時或網路不穩定

本文涵蓋前三種情況。若你的掛載在閒置一段時間後中斷,修復 macOS 睡眠後掛載中斷問題 中的保活模式同樣適用於 SFTP。

修復 1:驗證憑證與主機設定

開啟 NetDrive 的 Drive Manager,選取你的 SFTP 磁碟機,然後點擊 Edit。仔細檢查每個欄位:

  • Host — 伺服器的主機名稱或 IP 位址,不要加上 sftp:// 前綴。NetDrive 會自動加上協定。這裡若有結尾斜線會導致解析失敗。
  • Port — SFTP 預設為 22。若你的伺服器管理員將 SSH 改到非標準連接埠(常見的強化措施),請明確輸入該埠號。當伺服器實際監聽 2222 埠時仍連線到 22 埠,會產生逾時而非「authentication failed」訊息——正因如此,這個原因經常被忽略。
  • Username — 區分大小寫。在 Linux 系統上,Adminadmin 是不同的帳戶。
  • Password — 即使欄位看起來已有內容,也請重新輸入一次。伺服器端密碼變更後,已儲存的憑證可能會在不知不覺中失效。

NetDrive 掛載狀態面板,顯示目前連線狀態與磁碟機健康狀況

更新任何欄位後,請點擊 Connect 而非僅僅儲存。NetDrive 只會在實際連線嘗試時驗證憑證,而不是在儲存時驗證。

在 NetDrive 中連線前先驗證 SFTP 伺服器的 IP 位址

修復 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 磁碟機設定中:

  1. Auth type 設為 Key 而非 Password
  2. Private key file 下,瀏覽並選取本機上的 .pem 私密金鑰檔案。
  3. 若金鑰設有密碼短語,請在 Key passphrase 中輸入。
  4. 確認對應的公開金鑰已存在於遠端伺服器的 ~/.ssh/authorized_keys 中。

一個快速的伺服器端檢查方式:在終端機執行 ssh -v user@hostname,可顯示伺服器提供哪些認證方式,以及接受哪些金鑰。輸出中出現 Offering public keyServer accepts key 這兩行,即可確認金鑰配對正確,完全不需要透過 NetDrive 驗證。

修復 3:過期的主機金鑰驗證

當 NetDrive 首次連線到某個 SFTP 主機——或是伺服器因硬體更換、作業系統重灌、或 IP 位址被重複使用而導致 SSH 指紋變更時——可能會拒絕連線並顯示主機金鑰錯誤。

NetDrive 會將已接受的主機金鑰儲存在內部的 known-hosts 快取中。要清除過期的項目:

  1. Drive Manager 中,選取你的 SFTP 磁碟機並開啟 Edit
  2. 在進階設定面板中找到 Clear known hostsReset host key 選項。
  3. 重新連線。NetDrive 會提示你接受新的指紋。

在接受變更後的指紋前,請先獨立驗證它:從任何已對該伺服器擁有 SSH 存取權限的機器執行 ssh-keyscan -t rsa hostname,然後將輸出結果與 NetDrive 顯示的內容進行比對。在正式環境伺服器上接受非預期的指紋,是一項不容忽視的安全風險。

在 NetDrive 中連線前驗證 SFTP 伺服器的連接埠號碼

總結

NetDrive 的 SFTP 認證失敗,幾乎都源自憑證、金鑰格式或主機設定,而非 NetDrive 本身的問題。依序處理這三項修復——先檢查憑證,再檢查金鑰格式,最後檢查主機金鑰快取——你就能在幾分鐘內找出原因所在。若這些方法都無法解決問題,請在 NetDrive 的偏好設定中啟用詳細記錄(verbose logging),並將記錄貼到 support.bdrive.com 以便進一步診斷。

延伸閱讀:修復 WebDAV Synology 連線錯誤修復 NetDrive 中的 S3 拒絕存取錯誤

— Tayson, NetDrive