Ubuntu下使用sshfs挂载远程目录到本地(和Windows挂载盘一样)
访问局域网中其他Ubuntu机器,在不同机器间跳来跳去,很是麻烦,如果能够把远程目录映射到本地无疑会大大方面使用,就像Windows下的网络映射盘一样。在Linux的世界无疑也会有这种机制和方式,最近在使用的过程中选择了sshfs这个工具来达到把远程目录映射到本地的功能。
SSHFS可在本地安装的文件系统中,通过SSH获得所有加密的通信优势。使用sshfs可以把远程目录直接映射到本地,无需修改远程机器的设置,仅要求有ssh连接的权限(ssh都没有的话,还能干啥?)
官网地址: http://fuse.sourceforge.net/sshfs.html
一、SSHFS for Ubuntu
首先简单介绍一下SSHF。
关于SSH的介绍和安装使用可参考:SSH简介及工作机制以及Ubuntu环境下SSH的安装及使用这两篇文章。
SSH 是一个强大且安全的工具,我们除了可以用它来远程管理主机外,还可以通过它建立 SSH tunnel作 Proxy用,远程传输文件等等。而这里我想要介绍另外一个功能,那就是结合 sshfs 这个工具可以把远程主机的文件系统映射到本地主机上,透过 SSH 把远程文件系统挂载到本机上,这样我们可以不必使用 scp 工具就可以做到直接复制及删除远程主机的文件了,就像操作本地磁盘一样方便。
SSH是连接两台独立计算机,进行远程控制任务的受信任的方式。
SSHFS最炫的地方在于可在本地安装的文件系统中,通过SSH获得所有加密的通信优势。sshfs 是基于 FUSE 构建的 SSH 文件系统客户端程序,通过它远程主机的配置无需作任何改变,就可以透过 SSH 协议来挂载远程文件系统了,非常方便及安全。
二、Ubuntu 上安装sshfs
Ubuntu源中已经包含了sshfs,以及所需的fuse包,直接安装即可:
- sudo apt-get install sshfs
安装的时候会自动创建用户组fuse,要使用sshfs的用户需要先加到这个用户组里才行(记得完成后还要重新登录),不然会没有权限执行fusermount:
fuse: failed to exec fusermount: Permission denied
三、挂载远程文件系统/目录
挂载的一般格式为:
- sudo sshfs {{user id}}@{{server hostname}}:{{desiredremote share}} {{desired local mount point}} -o idmap=user -o allow_other -ouid={{local user id}} -o gid={{local group id}}
其中重点选项:
-o transform_symlinks 表示转换绝对链接符号为相对链接符号
-o follow_symlinks 沿用服务器上的链接符号
-C 压缩,或者-o compression=yes
-o reconnect 自动重连
-o cache=yes
-o allow_other
挂载格式看起来比较头晕,这里结合我的使用给出一个简洁直观的格式:
- sshfs -o transform_symlinks -ofollow_symlinks user@hostname: [dir]mountpoint
实例如下:
- sshfs –o cache=yes,allow_other user@192.168.1.200:/home/user/code home/user/code
说明:
1、 连接的时候可能需要管理员权限,在挂载命令前sudo即可。
2、更多参数请 man sshfs ,如果碰到其它问题请参考官方的 FAQ 。
3、如果想不输入密码的话,可以使用 SSH key 认证方式。
4、执行命令后 Ubuntu 会自动在桌面上显示挂载的 sshfs 文件系统盘,现在你就可以像操作本地磁盘一样操作这个映射的磁盘了。
四、卸载
fusemount –u /home/user/code
五、sshfs选项
- general options:
- -o opt,[opt...] mount options
- -h --help print help
- -V --version print version
- SSHFS options:
- -p PORT equivalent to '-o port=PORT'
- -C equivalent to '-o compression=yes' #启用压缩,建议配上
- -F ssh_configfile specifies alternative ssh configuration file #使用非默认的ssh配置文件
- -1 equivalent to '-o ssh_protocol=1' #不要用啊
- -o reconnect reconnect to server #自动重连
- -o delay_connect delay connection to server
- -o sshfs_sync synchronous writes
- -o no_readahead synchronous reads (no speculative readahead) #提前预读
- -o sshfs_debug print some debugging information
- -o cache=BOOL enable caching {yes,no} (default: yes) #能缓存目录结构之类的信息
- -o cache_timeout=N sets timeout for caches in seconds (default: 20)
- -o cache_X_timeout=N sets timeout for {stat,dir,link} cache
- -o workaround=LIST colon separated list of workarounds
- none no workarounds enabled
- all all workarounds enabled
- [no]rename fix renaming to existing file (default: off)
- [no]nodelaysrv set nodelay tcp flag in sshd (default: off)
- [no]truncate fix truncate for old servers (default: off)
- [no]buflimit fix buffer fillup bug in server (default: on)
- -o idmap=TYPE user/group ID mapping, possible types are: #文件权限uid/gid映射关系
- none no translation of the ID space (default)
- user only translate UID of connecting user
- -o ssh_command=CMD execute CMD instead of 'ssh'
- -o ssh_protocol=N ssh protocol to use (default: 2) #肯定要2的
- -o sftp_server=SERV path to sftp server or subsystem (default: sftp)
- -o directport=PORT directly connect to PORT bypassing ssh
- -o transform_symlinks transform absolute symlinks to relative
- -o follow_symlinks follow symlinks on the server
- -o no_check_root don't check for existence of 'dir' on server
- -o password_stdin read password from stdin (only for pam_mount)
- -o SSHOPT=VAL ssh options (see man ssh_config)
- Module options:
- [subdir]
- -o subdir=DIR prepend this directory to all paths (mandatory)
- -o [no]rellinks transform absolute symlinks to relative
- [iconv]
- #字符集转换,对我这种UTF8控,默认已经是最好的
- -o from_code=CHARSET original encoding of file names (default: UTF-8)
- -o to_code=CHARSET new encoding of the file names (default: UTF-8)
六、总结:
Ubuntu下使用sshfs挂载远程目录到本地(和Windows挂载盘一样)的更多相关文章
- Linux安装sshfs挂载远程目录到本地及卸载
挂载远程目录的方式很多,这里把sshfs记录一下备忘.Linux用sshfs挂载远程目录到本地 安装sshfs 在Ubuntu下,只需要使用 $ sudo apt-get install sshfs ...
- Linux使用sshfs挂载远程目录到本地
1安装sshfs [root@iZwz9hy7gff0kpg1swp1d3Z ~]# yum install sshfs 2创建本地目录 [root@iZwz9hy7gff0kpg1swp1d3Z ~ ...
- Ubuntu下使用sshfs挂载远程目录到本地
访问局域网中其他Ubuntu机器,在不同机器间跳来跳去,很是麻烦,如果能够把远程目录映射到本地无疑会大大方面使用,就像Windows下的网络映射盘一样.在Linux的世界无疑也会有这种机制和方式,最近 ...
- Ubuntu 下使用 sshfs 挂载远程目录到本地
参考链接:http://blog.csdn.net/netwalk/article/details/12952719 一.Ubuntu 上安装sshfs Ubuntu源中已经包含了sshfs,以及所需 ...
- 使用sshfs将远程目录挂载到本地
使用sshfs将远程目录挂载到本地 转自:http://blog.sina.com.cn/s/blog_6561ca8c0102vc2u.html 在Linux下我们通常使用ssh命令来登录远程Lin ...
- ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs
ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 第一部分:使用ssh key 实现服务器间的免密码交互登陆 步骤1: 安装openssh-clients [root@001 ...
- sshfs基于ssh挂载远程目录
为了像本地一样访问远程主机上的目录,通常我们会在远程主机上使用nfs来导出目录,并在本地主机上mount这个nfs文件系统.如果是windows系统,则使用cifs或samba的方式来访问. 但可能我 ...
- Ubuntu SSH 客户端的应用 | sshfs映射远程文件系统为本地磁盘
SSH是指Secure Shell,是一种安全的传输协议. Ubuntu客户端通过SSH访问远程服务器 ,以下步骤是客户端 的配置方法: 1. sudo apt-get install ssh 2. ...
- 如何用ssh挂载远程目录
如何用ssh挂载远程目录 标签: sshserver服务器linux网络 2011-06-24 10:05 2979人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
随机推荐
- HDU 3060 多边形面积并
Area2 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- c++,纯虚函数与抽象类
1.纯虚函数的定义: (1)虚函数被“初始化”为0的函数.声明纯虚函数的一般形式是virtual 函数类型 函数名(参数表列) =0;(2)纯虚函数没有函数体:(3)最后面的“=0”并不表示函数返回值 ...
- c++隐藏实例
隐藏:是指派生类的函数屏蔽了与其同名的基类函数,规则如下:(1)如果派生类的函数与基类的函数同名,但是参数不同.此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆). 很简单略去 ...
- oracle中if/else
oracle中if/else功能的实现的3种写法 1.标准sql规范 一.单个IF 1. if a=... then ......... end if; 2. if a=... then .... ...
- 基于visual Studio2013解决算法导论之030二叉查找树
题目 二叉查找树 解决代码及点评 // 12二叉查找树.cpp : 定义控制台应用程序的入口点. // // 3 - 10二叉搜索树查找.cpp : 定义控制台应用程序的入口点. // #in ...
- Android内存泄漏简介
前言 不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露. 其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用, ...
- Nmon 性能:分析 AIX 和 Linux 性能的免费工具
原文摘自: http://www.ibm.com/developerworks/cn/aix/library/analyze_aix/ 官网:http://www.ibm.com/developerw ...
- ASP.NET Excel导入到SQL Server数据库
本文转自:http://www.cnblogs.com/lhking/archive/2009/06/08/1499002.html 提供把Excel里的数据导入到SQL Server 数据库,前提是 ...
- eclipse No Default Proposals 无提示
链接地址:http://blog.csdn.net/rogerjava/article/details/5689785 今天特抑郁,早上开机后发现eclipse的代码提示功能不好使了,Alt+/ 这么 ...
- <脱机手写汉字识别若干关键技术研究>
脱机手写汉字识别若干关键技术研究 对于大字符集识别问题,一般采用模板匹配的算法,主要是因为该算法比较简单,识别速度快.但直接的模板匹配算法往往无法满足实际应用中对识别精度的需求.为此任俊玲编著的< ...