SSHFS 是一個可以透過 SSH 協定掛載遠端硬碟的工具,使用上很方便,伺服器也不需要任何設定。
一般如果想要遠端掛載 LInux 伺服器上的硬碟,傳統上都是使用 NFS 這類的方式,不過這類的方式會需要很多的設定,尤其是在伺服器端還會需要安裝許多 NFS 的套件,對於一般的使用者而言,如果臨時要用也是很麻煩,縱使知道如何安裝,如果自己沒有管理者權限的話,其實也是沒辦法使用。
以下介紹在 Linux、Mac OS X與 Windows 中安裝與使用 SSHFS 的方式。
如果在 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 鐘若要使用 SSHFS,可以使用 FUSE for OS X,它可以讓你將遠端 Linux 伺服器上的硬碟掛載之後,跟 Mac OS X 的系統整合在一起。
安裝時,請下載 OSXFUSE 與 SSHFS 兩個安裝檔,先裝 OSXFUSE 之後,再安裝 SSHFS。
安裝好之後,其使用方式跟 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 的使用者可以安裝 win-sshfs 這個 SSHFS client,以下是安裝與使用教學。
Step 1
下載下來的 win-sshfs-X.X.X.X-setup.exe 是一個安裝檔,直接執行它。安裝的時候還會再下載一些必要的套件。
過程中會安裝 .NET Framework 4.0,這個要稍微等一下。
Step 2
安裝完 .NET Framework 之後,就會開始進入正是安裝的流程,點選「Next」。
Step 3
選擇「I accept the license agreement」,並點選「Next」。
Step 4
確認必要的套件,Dokan Library 在這裡沒有偵測到,接下來會自動安裝直接點選「Next」即可。
Step 5
確認安裝路徑,直接點選「Next」。
Step 6
安裝過程終會需要重新開機,點選「確定」後就會重新開機。
Step 7
重新開機後,系統會出現警告,選擇「是」繼續安裝。
Step 8
點選「Finish」就安裝完成了。
啟動 win-sshfs 之後,在系統列會出現一個黃色的小圖示,點選他就可以開啟 win-sshfs 控制視窗。
Step 9
開啟 win-sshfs 控制視窗後,點選左下角的「Add」。
Step 10
設定掛載資訊:
如果要讓它自動掛載,可以將「Mount at login」打勾。點選「Save」後就可以將設定儲存起來。
最後再按下「Mount」,即可將遠端的硬碟掛載回來。
Step 11
掛載之後,在「電腦」中就會出現一個新的硬碟了,裡面的內容就會是遠端硬碟上的內容,而使用起來就跟一般的硬碟一樣。
Step 12
若要卸載遠端的檔案系統,只要點選右下角的「Unmount」即可。