﻿# 介紹好用工具： SSH Filesystem (簡單好用的 SSH 檔案系統)

在 Linux 底下，如果要共用一個遠端的資料夾，通常會用 [NFS](https://linux.vbird.org/linux_server/centos6/0330nfs.php) (網路檔案系統) 來進行分享。不過 NFS 預設要在擁有 root 權限下才能掛載 (mount) 進來，另外則是使用 NFS 使用 RPC ( portmap 或 rpcbind ) 服務來做埠號對應 (Port Mapping)，也代表防火牆也要多一層設定，為了安全總有那麼一點不方便。但其實有一套好用的 [SSHFS](http://fuse.sourceforge.net/sshfs.html) ( SSH Filesystem ) 工具，讓你只要有 SSH 登入權限，就可以輕易的將遠端資料夾直接掛載到本機，而且連一般使用者也可以使用，甚至於連在 Windows 下都可以自由掛載遠端 Linux 帳號下的任意一個資料夾，真的非常方便。

使用 [SSHFS](http://fuse.sourceforge.net/sshfs.html) 的最大優勢就是「伺服器端完全不用做設定」，只要任意帳號有 SSH 登入 Shell 的權限，就可以將該帳號可以存取的目錄設定為 SSHFS 用戶端的遠端掛載點 (mount point)。

**※ 如何在 Linux 下透過 sshfs 掛載遠端目錄**

1\. 安裝 sshfs 套件

-   CentOS 6.3 ( 在CentOS 下，使用者必須加入 fuse 群組才能使用 [FUSE](http://fuse.sourceforge.net/) 功能 )
    
    ```
    yum install fuse-sshfsusermod -a -G fuse username
    ```
    
-   Ubuntu 12.04 LTS
    
    ```
    apt-get install sshfs
    ```
    

2\. 建立掛載點 (也就是要從遠端對應到本機哪個資料夾)  
    **請注意**: 如果用**一般使用者**身分執行時，該**掛載點目錄**的**擁有者**必須為使用者自己!

```
sshfs username@hostname:/path/to/folder /path/to/local/folder
```

3\. 卸載 sshfs 掛載點

```
fusermount -u /path/to/local/folder
```

以下指令執行的過程示意圖 (點圖可放大顯示)

[![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/1074a8f9c27bfd566f6b-image_thumb_194.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/0c9b66c3b29b9215ac77-image_2355.png)

**※ 如何在 Windows 下透過 sshfs 掛載遠端目錄**

1\. 安裝 sshfs 相關軟體

-   安裝 [Dokan library](http://dokan-dev.github.io/) ( 下載連結: [https://github.com/dokan-dev/dokany/releases](https://github.com/dokan-dev/dokany/releases) )
-   安裝 [win-sshfs](https://code.google.com/p/win-sshfs/) 工具 ( [下載連結](https://code.google.com/p/win-sshfs/downloads/list) )  
      
    如果你沒有安裝 [Dokan library](http://dokan-dev.net/en/download/#dokan) 的話，會出現以下畫面：  
    ![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/b80c334d348e258237c8-image_2356.png "image")  
      
    只要安裝 [Dokan library](http://dokan-dev.github.io/) 過後，安裝 [win-sshfs](https://code.google.com/p/win-sshfs/) 會出現以下檢查結果：  
    ![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/cda8ab993799c42dd610-image_2357.png "image")  
      
    完整圖解安裝步驟可參考 [SSHFS in Windows](http://linhost.info/2012/09/sshfs-in-windows/) 文章。

2\. 掛載 SSHFS 網路磁碟機

-   執行 Sshfs Manager 之後，會在系統匣出現一個黃色圖示 (如下圖示)  
    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/6a3b2250cdfd9d7385d4-image_2358.png)
-   在該圖是點選滑鼠右鍵，選擇 Show Manager  
    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/3bd65e0f4a8e7fcbc7fd-image_2359.png)
-   點選 Add 按鈕，並設定 SSH 連接資訊與磁 **碟機名稱** (Drive Name) 與 **磁碟機代號** (Drive Letter)  
    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/937b482ed6661cd6c7f4-image_2360.png)
-   連寫完成後，先按下 Save 按鈕，再按下 Mount 按鈕，就會自動掛載完成！  
    ![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/2741fd9a15adb03a738c-image_2361.png "image")

完成後如下圖示：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/55451c0fc9919c5ea978-image_2362.png)

**注意事項：目前** **[Dokan library](http://dokan-dev.github.io/)** **可支援 Windows 8 作業系統，但你必須在應用程式啟動時以系統管理員身分執行，才可以正常運作！**

**相關連結**

-   [SSH Filesystem](http://fuse.sourceforge.net/sshfs.html)
-   [win-sshfs](https://code.google.com/p/win-sshfs/) - SSH(SFTP) filesystem for Windows ( [GitHub](https://github.com/apaka/win-sshfs "win-sshfs - SSH(SFTP) filesystem for Windows") )

-   [Dokan library](http://dokan-dev.github.io/) - user mode file system for windows ( [GitHub](https://github.com/apaka/dokan-net "Dokan - user mode file system for windows") )

-   [FUSE: Filesystem in Userspace](http://fuse.sourceforge.net/)
-   [鳥哥的 Linux 私房菜 -- NFS 伺服器](https://linux.vbird.org/linux_server/centos6/0330nfs.php)
-   [9.9. NFS and rpcbind - Red Hat Customer Portal](https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/s2-nfs-methodology-portmap.html)
-   [NFS HOWTO: Security and NFS](https://tldp.org/HOWTO/NFS-HOWTO/)
-   [User-space NFSv3 Server](http://unfs3.sourceforge.net/) (UNFS3)
