注意:转载请注明出处: http://www.programfish.com/blog/?p=145

sshfs简介:

一种通过SSH协议访问远程文件系统的用户空间文件系统。可以把远程主机上的文件系统挂载到本地使用。由于使用ssh协议连接,安全上有保障,使用起来也很方便。

Sshfs的实现依靠于linux内核模块fuse对用户空间文件系统的支持。关于fuse,详解参考维基百科这里的说明http://zh.wikipedia.org/wiki/FUSE

优势:

  • 不用把远程文件手动复制一份到本地修改:

修改远程文件我们可以用ftp、scp、sftp把这些远程文件拉取到本地对其进行修改 再上传回去,但是这样就显得很麻烦了。Sshfs在这方面就显得很方便了,只要你有能ssh到该远程主机的ssh帐号就能把远程主机上文件系统挂载到本 地,然后像操作本地文件和目录那样方便操作它们,期间所作的修改会自动保存到远程对应的目录及文件。

  • 安全性好

Sshfs使用ssh协议连接,而对ssh协议的安全性可以参考这里http://zh.wikipedia.org/wiki/Secure_Shell

安装准备:

1、Sshfs基于SSH协议 ,所以首先你本地以及远程主机上要安装有实现SSH协议的openssh或SSH Communications 软件,ssh协议看这里http://www.programfish.com/blog/?p=124

2、你的本地Linux发行版内要安装有fuse模块,因为sshfs需要fuse模块的支持。查看你的系统有没有这个模块请使用如下命令:

lsmod | grep fuse

如果没有输出则没有这个模块。

以上条件都满足后就变得很简单了,只需要在本地系统上安装sshfs,而在很多发行版都能在自己的源里找到这个包,直接用apt-get install sshfs、zypper install sshfs,如果源里没有这个包可以到github这里下载源码编译安装https://github.com/osxfuse/sshfs

使用:

  • 挂载:

在本地创建一个目录比如:

mkdir  /mnt/remote

然后挂载远程主机上的某目录到刚创建的目录: (比如我要挂载111.111.111.111这台远程主机上的/home目录到本地的/mnt/remote目录)

sshfs  -o  allow_other  user@111.111.111.111:/home  /mnt/remote

-o allow_other 选项是指挂载后/mnt/remote能被你所在系统上的其它用户访问。(更多选项请:man sshfs)

执行这个命令后输入密码然后cd 到/mnt/remote目录下就可以在里面看到远程主机上/home目录的内容,操作就像操作本地目录和文件一样就可以了。

  • 卸载:

使用命令:

fusermount -u /mnt/remote   (/mnt/remote为你的挂载点)

开机自动挂载远程主机文件系统

上面的操作是针对开机之后的,如果想要开机自动挂载该远程文件系统,需要做两步操作。

  • 在 /etc/fstab 添加挂载项(这里以上面例子为例):

sshfs#user@111.111.111.111:/home  /mnt/remote  fuse  defaults,auto,allow_other  0  0

  • 设置ssh无密码登陆:

设置ssh无密码登陆远程主机(public key认证),方法不再列出,因为笔者另一篇文章里已经说得比较详细明了,参考http://www.programfish.com/blog/?p=124的public key认证(免密码认证)部分。

这样以后就能开机自动把远程主机上的文件系统挂载到本地使用了。

上一篇:   如何成为一个真正在路上的Linuxer

欢迎访问本人网站:http://www.programfish.com

LinuxCoder 社区: http://linuxcoder.org

注意:转载请注明 “作者:广州Linux爱好者+云计算 刁金明”

sshfs远程文件系统挂载的更多相关文章

  1. Ubuntu SSH 客户端的应用 | sshfs映射远程文件系统为本地磁盘

    SSH是指Secure Shell,是一种安全的传输协议. Ubuntu客户端通过SSH访问远程服务器 ,以下步骤是客户端 的配置方法: 1. sudo apt-get install ssh 2. ...

  2. 使用sshfs将远程目录挂载到本地

    使用sshfs将远程目录挂载到本地 转自:http://blog.sina.com.cn/s/blog_6561ca8c0102vc2u.html 在Linux下我们通常使用ssh命令来登录远程Lin ...

  3. 利用SSH Filesystem实现远程文件系统

         远程文件系统的访问有很多种不同的实现方式,一些常见的连接方式比其它特定情况下的更有用.最著名的一个例子就是微软的通用互联网文件系统(CIFS),它可以容许微软Windows"映射网 ...

  4. hdfs文件系统挂载

    简要说明: 使用fuse将hdfs文件系统挂载远程服务器上,像使用nfs和glusterfs那样可以挂载共享存储 fuse安装 fuse可以编译安装或者通过CDH或ambari源yum安装 此处使用a ...

  5. 【Linux】程序内获取文件系统挂载信息

    Linux shell可通过查看/etc/mtab或者/proc/mounts文件来获取当前文件系统挂载信息,示例: 程序内读取/etc/mtab或者/proc/mounts,解析字符串较为繁琐,可以 ...

  6. nfs文件系统挂载失败解决方法

    nfs文件系统挂载失败解决方法 */--> nfs文件系统挂载失败解决方法 Table of Contents 1. 错误提示 2. 我的配置 1 错误提示 bootserver=255.255 ...

  7. Linux入门基础 #5:Linux文件系统挂载管理

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

  8. 第8天【文件系统挂载、ext文件系统及read命令、Linux RAID、lvm应用】

    文件系统挂载与管理工具(01)_recv 文件系统管理: 将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行成为挂载: 解除此关联关系的过程 吧设备关联挂载点: ...

  9. Qt SD卡 文件系统挂载、文件预览

    /********************************************************************************** * Qt SD卡 文件系统挂载. ...

随机推荐

  1. 继刚接触play framework后,一些心得

    我是个小菜鸟,我这些体会跟心得纯属个人观点,仅供参考,勿喷,我想记录下学习的历程,不断成长 在play2.0的框架里面  用到的最多的语言就是scala,对于习惯了java语言的我们来说  看这些语言 ...

  2. talos项目记录

    1. 跑schedule : php src/cli-schedule/cli.php -a sales.coupon.offer-coupons  所用方法在schedule里

  3. 解决位于底端Edittext 输入时被软盘遮盖

    遇到这种情况我们首先到网上搜一圈,大概情况是需要设置<activity/> android:windowSoftInputMode="adjustResize" ,按照 ...

  4. ng-repeat-start ng-repeat-end 的使用

    ng-repeat-start与ng-repeat-end时AngularJS(1.2.x)扩展的, 使用这两个指令可以灵活控制遍历形式. 例如: index.html <div class=& ...

  5. 索引列上的统计 <第一篇>

    一.索引在查询优化中的角色 SQL Server的查询优化器是基于开销的优化器.它通过确认选择性.数据的唯一性以及过滤数据(通过WHERE或JOIN子句)所使用的列来决定最佳的数据访问机制.统计与索引 ...

  6. 深入浅出CChart 每日一课——第十八课 女神的套娃,玩转对话框

    前面笨笨已经给大家展示了CChart编程的N个例子.这些例子中,我们的CChart图像都是绘制在程序的主窗口中的. 在很多情况下,我们面对的情形不是这样的.这节课笨笨就给大家介绍一下怎样在对话框中用C ...

  7. web应用,我们需要了解什么?

        对于前端开发来说,web应用我们并不陌生.今天想要讨论一下,在开发一个web应用的时候,我们需要一些基本的知识储备.我们知道,一个web应用脱离不了(request)请求和响应(respons ...

  8. OpenReports中文支持方案

    此文章在<OpenReports中文支持完全解决方案.doc>的基础上做优化,并贴出代码.已测试通过. 一.主要解决的问题 1 页面显示支持中文 2 与服务器或数据库的交互支持中文 3 查 ...

  9. 用window.print()打印指定div里面的内容

    用window.print()打印指定div里面的内容 今天客户让添加个打印证照功能,直接用window.print()打印的是整个页面,而用以下方法就可以只打印证明了 <!--window.p ...

  10. Android——编译odex保护

    编译过android源代码的可能试验过改动编译类型.android的初始化编译配置可參考Android--编译系统初始化设置 一.TARGET_BUILD_VARIANT=user 当选择的编译类型为 ...