CentOS 7安裝SSHFS 實現遠程主機目錄 掛載為本地目錄


安裝sshfs

官方下載地址 https://github.com/libfuse/sshfs/releases


首先,我們需要安裝sshfs軟件。sshfs是一個基於SSH文件傳輸協議的文件系統客戶端,它的官方網頁是:http://fuse.sourceforge.net/sshfs.html 。在CentOS下,我們可以通過yum來安裝(注意使用yum安裝需要安裝EPEL源):

yum -y install fuse-sshfs

安裝好后,系統會自動建立fuse用戶組,要使用sshfs的用戶只要加入這個用戶組即可。

掛載遠程目錄
要想掛載遠程目錄,使用如下命令即可:
sshfs user@hostname:path mout_point
例如:sshfs root@127.0. 0. 0:/data/www/rabbit/Upload/ /mnt/file_server_storage
/mnt/file_server_storage為本地的路徑
這里user為遠程主機用戶名,hostname為遠程主機IP地址,path為遠程主機中想要掛載到本地的目錄,mount_point為掛載到本地的目錄。

卸載掛載點
當不需要使用的時候,使用以下命令卸載:
fusermount -u mount_point
如果想要開機自動掛載,可以在/etc/fstab中加入下面一行:
sshfs#user@hostname:path mount_point fuse defaults,auto,allow_other 0 0
這就要求必須先把ssh自動登錄配置好了,讓root用戶能夠使用user身份登錄遠程主機,另外allow_other這個參數很重要,沒有這個參數的話,掛載過來的目錄只有root能夠訪問。

以下為實際操作中所遇到的問題
1、執行卸載命令:
fusermount -u /mnt/file_server_storage

提示device is busy.
執行: umount -fl ./file_server_storage 命令可以完成卸載.
關於: umount 命令
umount可卸除目前掛在Linux目錄中的文件系統

2、關於操作操作權限
以前經常出現執行掛載命令以后,shell命令可以直接進入掛載點操作,但遠程程序一直無法操作成功。
后來發現是需要加上-o 參數:
執行sshfs –h 會看到如下幫助說明


FUSE options:
FUSE(用戶空間文件系統)
用戶空間文件系統(Filesystem in Userspace),是Linux 中用於掛載某些網絡空間,如SSH,到本地文件系統的模塊,在SourceForge上可以找到相關內容。

sshfs root@127.0. 0. 0:/data/www/rabbit/Upload/ /mnt/file_server_storage
//替換為以下命令即可
sshfs root@127.0. 0. 0:/data/www/rabbit/Upload/ /mnt/file_server_storage –o allow_other

配合的在/etc下面增加了一個文件fuse.conf
在fuse.conf里面就一句話: user_allow_other,保存退出即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM