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,保存退出即可。

相关推荐
隔窗听雨眠44 分钟前
KingbaseES平替全链路实践:从迁移评估到可持续运维
运维
skywalk81631 小时前
登到192.168.1.5那台机器,看看今天白天,大约从早晨到晚上,都卡住了。看看因为什么卡住,为什么卡住而没有杀死那个导致卡死的进程,为什么
运维·系统·freebsd
运维行者_1 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
小小de风呀1 小时前
de风——【从零开始学习Linux】(九):进程基础 —— 从冯诺依曼体系到 fork 创建进程
linux·学习
晚风吹北巷3 小时前
Linux复习篇(自用)
linux·运维·服务器·1024程序员节
风哥2号3 小时前
数据库教程FGMT69:PostgreSQL运维诊断与监控分析
运维·数据库·postgresql
by209994 小时前
Linux 压缩传输、进程查看与权限管理
linux·经验分享·1024程序员节
Harrison Ben4 小时前
(原创)SAP FI自动入账奥义:FBKP FBKA FBKF
运维·sap·sap fico·sap运维·sap 实施
无足鸟ICT4 小时前
【RHCA+】reboot命令(重启)
linux·运维·服务器·1024程序员节