首页 > 代码库 > Ubuntu 下使用 sshfs 挂载远程目录到本地

Ubuntu 下使用 sshfs 挂载远程目录到本地

 参考链接:http://blog.csdn.net/netwalk/article/details/12952719

 

一、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  

一个使用的实例如下(前一个user是远程主机的user,后一个是本地主机的user):

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

 

Ubuntu 下使用 sshfs 挂载远程目录到本地