利用SSH Filesystem實現網絡安全連接
遠程文件系統的訪問有很多種不同的實現方式,一些常見的連接方式比其它特定情況下的更有用。“網絡文件系統”就屬于這樣的一類,網絡文件系統軟件提供了一種方法,可以將遠程計算機上的文件系統當作本地文件系統的一部分,但在怎樣進行無縫結合方面,它還存在很多問題。畢竟,實際效果的好壞取決于文件系統的瀏覽界面情況,受網絡帶寬和延遲影響的訪問時間,以及其它涉及系統的因素。
對于網絡文件系統軟件來說,最著名的一個例子就是微軟的通用互聯網文件系統(CIFS),它可以容許微軟Windows“映射網絡驅動器”并利用資源管理器對網絡進行“瀏覽”。另一個是最早由太陽計算機系統開發的網絡文件系統(NFS),作為美國電話電報公司開發的UNIX系統配置已經有15年的歷史了。盡管還存在幾十種其他的選擇,但這兩種系統占據了網絡文件系統的主流。
即使在未加密的網絡中,加密網絡文件系統也可以為遠程文件系統訪問提供安全連接。在加密網絡中,在數據傳輸的時間進行加密也是一個好主意。對于安裝了Openssh的系統來說,實際上這包含了幾乎所有的開源類Unix操作系統,sshfs—ssh文件系統—作為可驗證的方便安全的網絡文件系統,是用來訪問遠程計算機上存儲數據的完美選擇
因為它是基于ssh的,所以需要在客戶端計算機上安裝和使用sshFS的話,就需要安裝Openssh。幾乎所有的Linux主要發行版本和BSD Unix操作系統,在默認配置下都已經安裝了Openssh的,所以你不會需要單獨安裝它。此外,服務器端—你希望能夠從本地客戶端系統訪問的計算機中的文件系統—需要運行Openssh服務器進程。
ssh文件系統也是基于FUSE,也就是所謂的“用戶空間文件系統”。FUSE在類Unix系統中提供了一個API,可以用于建立高級別的文件系統,并且可以實現不需要root權限連接的安全管理。幸運的是,主要的開放源代碼類Unix操作系統的軟件管理系統都應該為你提供了自動處理功能。
當使用一個基于源代碼的軟件管理系統時,你可能需要確保安裝操作系統生成內核的時間,FUSE的安裝操作是正確的。以FreeBSD的Ports系統為例,你可以指定所有系統頭都應在操作系統安裝過程中安裝。
一旦確認了系統中已經安裝了FUSE和sshFS,安裝遠程文件系統就是一件容易令人難以置信的事情。實際上,只要一個mount命令(用于掛載一個本地文件系統)和ssh命令(用于打開遠程計算機上的命令界面)的最簡單組合即可。
除了簡單易用外,sshFS還可以任意選擇子目錄來進行安裝,并且可以決定安裝的內容。只要你擁有遠程系統給定目錄的ssh連接,就可以利用sshFS通過安全加密連接在本地進行安裝。
根據sshFS手冊,利用sshFS掛載遠程文件系統的命令是:
sshfs [user@]host:[dir] mountpoint [options]
讓我們看看一個簡單的例子。
艾倫在一臺主機名為unruly的FreeBSD服務器上有一個包含Ogg Vorbis格式音樂文件的文件夾,他希望可以從自己名為insectmonger的Debian筆記本計算機上直接訪問該文件夾。音樂文件所在的文件夾為/usr/home/alan/vorbis。該文件夾在筆記本計算機上位置,他希望是/home/alan/external。在兩臺機器上的用戶名是一樣的,“alan”。他使用的命令應該是:
sshfs unruly:/usr/home/alan/vorbis /home/alan/external
一條簡單的命令就可以完成卸載,正如sshfs手冊指定頁中的說明,艾倫可以使用的命令是:
fusermount -u mountpoint
現在,他可以輸入:
fusermount -u /home/alan/external
他可以很容易地使用通常的umount命令來卸載文件系統分區:
umount /home/alan/external
根據手冊中[user@]部分的語法示例,[user@]是sshfs命令的一部分,可以用來指定遠程計算機上的用戶帳戶,與訪問遠程文件系統需要“擁有一個單獨用戶名的帳戶”不同的是,你可以利用本地系統的用戶名來掛載文件系統。
命令語法示例中的[options]部分包括了sshfs手冊中描述的50多個選項——遠遠超過了一篇單獨文章可以解釋的范圍。其中最常用的選項有:
sshfs -h
該選項可以提供簡單的語法說明,如果你需要在使用sshFS命令前快速了解可用的選項的話。
sshfs [user@]host:[dir] mountpoint -p 2002
該選項可以容許你選擇其它的連接端口而不是默認的22號ssh端口,在ssh服務器必須與來訪問遠程文件系統配置為使用非標準端口的情況下非常有用。
sshfs [user@]host:[dir] mountpoint -C
利用- C選項,可以啟用ssh的壓縮功能。對互聯網之類的低帶寬網絡中的高流量需求,通過有效降低sshfs的掛載時間這樣可以加快遠程文件訪問的速度。
【編輯推薦】