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 的系統整合在一起。
網址:http://osxfuse.github.io/
安裝時,請下載 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
Windows 的使用者可以安裝 win-sshfs 這個 SSHFS client,以下是安裝與使用教學。
網址:https://code.google.com/p/win-sshfs/
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
設定掛載資訊:
- Drive Name:掛載名稱
- Host:遠端伺服器的 IP 位址
- Username:登入帳號
- Password:密碼
- Directory:伺服器上的目錄(要掛載回來的目錄)
- Drive Letter:在 Windows 中的掛載點
如果要讓它自動掛載,可以將「Mount at login」打勾。點選「Save」後就可以將設定儲存起來。
最後再按下「Mount」,即可將遠端的硬碟掛載回來。
Step 11
掛載之後,在「電腦」中就會出現一個新的硬碟了,裡面的內容就會是遠端硬碟上的內容,而使用起來就跟一般的硬碟一樣。
Step 12
若要卸載遠端的檔案系統,只要點選右下角的「Unmount」即可。
參考資料:osxfuse、Digital Ocean、Unixmen、Tecmint
Henk
您好,想請教一下,sshfs的空間可不可以同時讓 os x 和 win系統同時掛載?是否會有檔案系統的存取問題?
G. T. Wang
我是沒試過同時掛載,但理論上應該不會有問題。
PY
您好,想請問在linux電腦上這個方法是否重開機後就要重新掛載一次? 如果是的話請問有避免這個狀況的解決方案嗎?