在 Linux 上掛載 SFTP 伺服器 — NetDrive 設定指南

閱讀時間 6 分鐘 provider-guide sftp linux
Casey
CaseyProduct Manager
使用 NetDrive 的實驗性 Linux 版本,將任何 SFTP 伺服器掛載為一般的 Ubuntu 掛載點,從 GitHub 安裝到金鑰驗證一次搞定。

執行 Ubuntu 的開發機需要從暫存伺服器讀取設定檔,或建置腳本想透過 SSH 直接把發佈產物寫到部署主機,而不必在每個碰觸遠端路徑的腳本裡都塞一個 scp 迴圈。NetDrive 的 Linux 版本會把 SFTP 伺服器掛載為一般的掛載點——與它在 Windows 及 macOS 上提供的連線類型相同——所以 /mnt/deploy-host/releases/cpcat 或開啟檔案的 Python 腳本來說,行為就像任何其他目錄一樣。

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

在 Ubuntu 上掛載 SFTP 伺服器

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

  • 支援 Ubuntu 16.04 及以上版本
  • 支援密碼或 SSH 金鑰驗證,包含符號連結
  • 透過一般掛載點進行讀寫——不需要 scp 包裝腳本
WindowsmacOS
下載 NetDrive for Linux →

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

為什麼要掛載,而不是寫 scp 或 rsync 腳本

scprsync 對一次性傳輸來說沒問題,但兩者都無法給你一個能直接指給程式使用的路徑。日誌追蹤腳本、文字編輯器,或是期望對「看起來像本機」的路徑執行 open() 的部署工具,跟這兩個工具完全沾不上邊——你得先把檔案複製下來、編輯、再複製回去,而且每次都得記得按正確順序做。透過 NetDrive 掛載 SFTP 伺服器就跳過了這趟來回:掛載點直接對伺服器解析讀寫,所以執行 cat /mnt/staging/nginx.conf 的腳本拿到的是即時檔案,而不是一小時前的過期本機副本。

符號連結支援是在 NetDrive 3.17.817 加入的,這點在這裡特別重要——Linux 的家目錄和 /var/www 的配置經常大量依賴符號連結,透過掛載點它們能正確解析,而不會變成失效連結。

NetDrive mounting a cloud storage account as a local drive — the same core interaction the Linux build provides at a mount point

在 Ubuntu 上安裝 NetDrive

NetDrive for Linux 並不在 Ubuntu 的預設套件庫中,所以安裝要透過 GitHub,而不是 apt

  1. 前往 github.com/NetDrive/installer,下載對應你 Ubuntu 版本的發行版。
  2. 依照安裝器儲存庫該版本的發行說明操作——必須先安裝驅動元件,NetDrive 才能掛載任何東西。
  3. 安裝 NetDrive 套件本身。
  4. 啟動 NetDrive。第一次執行會載入驅動元件,依你系統的權限設定,可能會要求輸入 sudo

由於更新是以 GitHub 發行版形式推出,而不是透過 apt upgrade,檢查新版本就成了手動步驟——值得在這台機器適用的任何操作手冊裡記上一筆。NetDrive Linux 版本支援的最低版本是 Ubuntu 16.04,而且這裡的支援等級與 NetDrive 自家比較頁面對 Linux 通用標示的實驗性等級相同——Windows 和 macOS 得到了大部分的測試,所以在把這個掛載用在任何無人值守的用途之前,請先針對你的具體發行版和工作負載進行驗證。

逐步操作:在 Ubuntu 上連線 SFTP 伺服器

  1. 開啟 NetDrive 的 Drive Manager,然後點擊 + Add Drive
  2. 從連線類型清單中選擇 SFTP

NetDrive SFTP provider logo for secure file transfer

  1. 輸入伺服器位址——主機名稱(deploy.example.com)或 IP 位址——並設定連接埠。SFTP 預設為 22;有些強化過的伺服器會改用非標準連接埠。
  2. 設定驗證方式
    • 密碼:直接輸入使用者名稱和密碼。
    • SSH 金鑰:指向你的私鑰檔案。同時支援 OpenSSH 格式(id_rsa)與 PuTTY 的 .ppk 檔案。
  3. 設定掛載點——類似 /mnt/deploy-host 這樣的路徑,或任何你有寫入權限的空目錄。
  4. 點擊 Connect。 NetDrive 會進行驗證,並將伺服器掛載到該路徑。

如果伺服器允許匿名 SFTP、不需要憑證,NetDrive 自 3.7.687 版起就支援不填憑證的連線——把使用者名稱和密碼欄位留空即可。

在信任連線之前先驗證

從終端機確認掛載確實生效,而不是只信任 GUI——這是在實驗性版本上的好習慣,也值得在讓腳本依賴這個路徑存在之前先做:

# Confirm the mount is listed
mount | grep deploy-host

# Or just try listing it
ls /mnt/deploy-host

如果連線在這一步之前就失敗了,先檢查連通性——主機名稱錯誤或連接埠被封鎖,涵蓋了大多數 SFTP 連線失敗的情況:

# Basic reachability
ping deploy.example.com

# Is the SFTP port actually open?
nc -zv deploy.example.com 22

Network connectivity check showing IP reachability

Port reachability check for SFTP port 22

nc -zv 成功表示連接埠是開啟的,如果還有問題,多半出在憑證或伺服器端的權限設定,而不是網路路徑。

使用 Linux 版本前要考量的事

  • 獨立的發佈節奏——Linux 驅動元件是依自己的排程維護的,所以 Windows 或 macOS 上的修復不會自動在同一週內也落到 Linux 上。
  • 沒有套件管理器整合——目前只有 GitHub 發行版,沒有 PPA 或 Snap。
  • 建議的主要平台——NetDrive 自家的指引把 Windows 和 macOS 視為經過強化、可用於生產環境的目標平台。Linux 很適合開發機、CI 執行器,或作為家用伺服器的補充;但在你自己完成測試之前,還不到能拿它去賭無人值守的正式生產管線的程度。

結語

在 Ubuntu 上掛載 SFTP,能得到與 NetDrive 在 Windows 和 macOS 上相同的磁碟機式存取體驗——一個任何工具都能讀寫的普通路徑——透過一個放在 GitHub 而非 apt 上的安裝器來完成。想了解更廣泛的 Linux 概況,請參閱 NetDrive on Ubuntu Linux;想了解相同連線類型在測試更充分的平台上的運作,請參閱 Mount an SFTP Server on Windows — NetDrive Setup Guide

— Casey, NetDrive