SSHFS:透過 SSH 掛載遠端 Linux 伺服器上的硬碟(適用於 Windows、Mac OS X 與 Linux)

SSHFS 是一個可以透過 SSH 協定掛載遠端硬碟的工具,使用上很方便,伺服器也不需要任何設定。

一般如果想要遠端掛載 LInux 伺服器上的硬碟,傳統上都是使用 NFS 這類的方式,不過這類的方式會需要很多的設定,尤其是在伺服器端還會需要安裝許多 NFS 的套件,對於一般的使用者而言,如果臨時要用也是很麻煩,縱使知道如何安裝,如果自己沒有管理者權限的話,其實也是沒辦法使用。


SSH Filesystem(簡稱 SSHFS)是一個以 SSH 為基礎的檔案系統,它可以讓你直接透過 SSH 掛載遠端 Linux 伺服器上的硬碟,由於現在的 Linux 伺服器幾乎都有支援 SSH,所以只要安裝一個簡單的 SSHFS client 工具之後,對於任何可以使用 SSH 登入的伺服器,都可以直接掛載上面的硬碟。

以下介紹在 Linux、Mac OS X與 Windows 中安裝與使用 SSHFS 的方式。

Linux

如果在 Ubuntu/Debian Linux 中,可以使用 apt-get 安裝

sudo apt-get install sshfs

安裝完成後,就可以使用 sshfs 這個指令掛載遠端的硬碟了。

使用時,先建立一個掛載用的目錄(這裡的目錄名稱可以任意指定):

mkdir remote_disk

接著執行

sshfs NAME@HOST:/path/to/folder remote_disk

其中 NAME 是 SSH 登入的使用者名稱,HOST 是 Linux 伺服器的主機位址,/path/to/folder 是伺服器端要掛載的目錄位置,這些語法跟 scp 有點類似。

掛載之後可以用 mount 指令查看掛載的狀況,如果有正確掛載的話,應該會看到類似這樣的輸出:

[略]
seal@your.host.com:/path/to/folder on /home/seal/remote_disk type fuse.sshfs (rw,nosuid,nodev,user=seal)

如果要卸載檔案系統,則使用 fusermount 指令:

fusermount -u remote_disk

Mac OS X

在 Mac OS X 鐘若要使用 SSHFS,可以使用 FUSE for OS X,它可以讓你將遠端 Linux 伺服器上的硬碟掛載之後,跟 Mac OS X 的系統整合在一起。

名稱:FUSE for OS X
網址:http://osxfuse.github.io/

安裝時,請下載 OSXFUSE 與 SSHFS 兩個安裝檔,先裝 OSXFUSE 之後,再安裝 SSHFS。

osxfuse-1

安裝好之後,其使用方式跟 Linux 的系統差不多:

mkdir remote_disk
sshfs NAME@HOST:/path/to/folder remote_disk

然後使用 mount 查看掛載狀況:

[略]
seal@your.host.com:/path/to/folder remote_disk on /Users/seal/remote_disk (osxfusefs, nodev, nosuid, synchronous, mounted by seal)
[略]

不過在卸載時要使用 umount

umount remote_disk

Windows

Windows 的使用者可以安裝 win-sshfs 這個 SSHFS client,以下是安裝與使用教學。

名稱:win-sshfs
網址:https://code.google.com/p/win-sshfs/

Step 1
下載下來的 win-sshfs-X.X.X.X-setup.exe 是一個安裝檔,直接執行它。安裝的時候還會再下載一些必要的套件。

install-win-sshfs-1

過程中會安裝 .NET Framework 4.0,這個要稍微等一下。

install-win-sshfs-2

Step 2
安裝完 .NET Framework 之後,就會開始進入正是安裝的流程,點選「Next」。

install-win-sshfs-3

Step 3
選擇「I accept the license agreement」,並點選「Next」。

install-win-sshfs-4

Step 4
確認必要的套件,Dokan Library 在這裡沒有偵測到,接下來會自動安裝直接點選「Next」即可。

install-win-sshfs-5

Step 5
確認安裝路徑,直接點選「Next」。

install-win-sshfs-6

Step 6
安裝過程終會需要重新開機,點選「確定」後就會重新開機。

install-win-sshfs-7

Step 7
重新開機後,系統會出現警告,選擇「是」繼續安裝。

install-win-sshfs-7-1

Step 8
點選「Finish」就安裝完成了。

install-win-sshfs-8

啟動 win-sshfs 之後,在系統列會出現一個黃色的小圖示,點選他就可以開啟 win-sshfs 控制視窗。

install-win-sshfs-9

Step 9
開啟 win-sshfs 控制視窗後,點選左下角的「Add」。

install-win-sshfs-10

Step 10
設定掛載資訊:

  • Drive Name:掛載名稱
  • Host:遠端伺服器的 IP 位址
  • Username:登入帳號
  • Password:密碼
  • Directory:伺服器上的目錄(要掛載回來的目錄)
  • Drive Letter:在 Windows 中的掛載點

如果要讓它自動掛載,可以將「Mount at login」打勾。點選「Save」後就可以將設定儲存起來。

最後再按下「Mount」,即可將遠端的硬碟掛載回來。

install-win-sshfs-11

Step 11
掛載之後,在「電腦」中就會出現一個新的硬碟了,裡面的內容就會是遠端硬碟上的內容,而使用起來就跟一般的硬碟一樣。

install-win-sshfs-12

Step 12
若要卸載遠端的檔案系統,只要點選右下角的「Unmount」即可。

install-win-sshfs-13

參考資料:osxfuseDigital OceanUnixmen

Linux

2 Comments

  1. Henk

    您好,想請教一下,sshfs的空間可不可以同時讓 os x 和 win系統同時掛載?是否會有檔案系統的存取問題?

    • G. T. Wang

      我是沒試過同時掛載,但理論上應該不會有問題。

Leave a Reply