sshfs远程文件系统挂载

注意:转载请注明出处: 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远程文件系统挂载的更多相关文章
- Ubuntu SSH 客户端的应用 | sshfs映射远程文件系统为本地磁盘
SSH是指Secure Shell,是一种安全的传输协议. Ubuntu客户端通过SSH访问远程服务器 ,以下步骤是客户端 的配置方法: 1. sudo apt-get install ssh 2. ...
- 使用sshfs将远程目录挂载到本地
使用sshfs将远程目录挂载到本地 转自:http://blog.sina.com.cn/s/blog_6561ca8c0102vc2u.html 在Linux下我们通常使用ssh命令来登录远程Lin ...
- 利用SSH Filesystem实现远程文件系统
远程文件系统的访问有很多种不同的实现方式,一些常见的连接方式比其它特定情况下的更有用.最著名的一个例子就是微软的通用互联网文件系统(CIFS),它可以容许微软Windows"映射网 ...
- hdfs文件系统挂载
简要说明: 使用fuse将hdfs文件系统挂载远程服务器上,像使用nfs和glusterfs那样可以挂载共享存储 fuse安装 fuse可以编译安装或者通过CDH或ambari源yum安装 此处使用a ...
- 【Linux】程序内获取文件系统挂载信息
Linux shell可通过查看/etc/mtab或者/proc/mounts文件来获取当前文件系统挂载信息,示例: 程序内读取/etc/mtab或者/proc/mounts,解析字符串较为繁琐,可以 ...
- nfs文件系统挂载失败解决方法
nfs文件系统挂载失败解决方法 */--> nfs文件系统挂载失败解决方法 Table of Contents 1. 错误提示 2. 我的配置 1 错误提示 bootserver=255.255 ...
- Linux入门基础 #5:Linux文件系统挂载管理
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- 第8天【文件系统挂载、ext文件系统及read命令、Linux RAID、lvm应用】
文件系统挂载与管理工具(01)_recv 文件系统管理: 将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行成为挂载: 解除此关联关系的过程 吧设备关联挂载点: ...
- Qt SD卡 文件系统挂载、文件预览
/********************************************************************************** * Qt SD卡 文件系统挂载. ...
随机推荐
- WinPython安装问题(pyzmq问题导致)
最近yvivid安装WinPython-32bit-3.4.4.1, 安装后,运行spyder运行时出现如下错误, Traceback (most recent call last): File &q ...
- 1169 二叉树遍历(XCOJ DFS)
给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度≤8). 样例输入 BADC BDCA 样例输出 ABCD #include <iostream> ...
- js判断输入的是单字节还是双字节
计算机上每一个字符.数字.汉字.字母等,都对应着unicode编码,unicode编码小于255的为单字节,大于255.小于65535的为双子节或三字节 查看一个字符对应的unicode编码 var ...
- cf C. Tourist Problem
http://codeforces.com/contest/340/problem/C #include <cstdio> #include <cstring> #includ ...
- Powershell 执行外部命令
Powershell 执行外部命令 724 11月, 2011 在 Powershell tagged Powershell教程 / 程序 by Mooser Lee本文索引[隐藏]1通过nets ...
- C++基本要点复习--------coursera程序设计实习(PKU)的lecture notes
因为一些特性复杂,很多时候也用不到一些特性,所以忘记了,算是随笔,也当作一个临时查找的手册.没有什么顺序,很杂. 1.构造函数通过函数重载的机制可以有多个(不同的构造函数,参数个数,或者参数类型不同. ...
- Dynamics CRM 2013 初体验(2):UI
Dynamics CRM 2013 系统的UI与2011相比改动是巨大的:传统的导航栏被去掉了,取代它的是win8风格的小磁铁:Ribbon风格的工具栏也被去掉啦,它的风格将回滚至4.0时代:新系统添 ...
- 【转】Android兼容性测试CTS Verifier-环境搭建、测试执行、结果分析
原文网址:http://www.cnblogs.com/zh-ya-jing/p/4452675.html CTS Verifier算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测 ...
- 【POJ2196】Specialized Four-Digit Numbers(暴力打表)
一道水题,只要会复制粘贴就好! #include <iostream> #include <cstring> #include <cstdlib> #include ...
- 04747_Java语言程序设计(一)_第6章_图形界面设计(二)
例6.1声明一个面板子类,面板子类对象有3个选择框. class Panel1 extends JPanel { JCheckBox box1, box2, box3; Panel1() { box1 ...