sshfs把远程主机的文件系统映射到本地的目录中,CentOS远程挂载windows硬盘

jackxiang 2010-5-4 09:46 | |
sshfs -p 36000 gastonwu@172.25.38.70:/home/gastonwu ~/dev70

samba服务mount方法:

mount -t smbfs -o username=peter,password=hello //192.168.7.123/ok



直接yum得了,安装麻烦啊:
[root@localhost fuse-2.7.4]# yum -y install sshfs
Loaded plugins: fastestmirror
Determining fastest mirrors
* addons: mirrors.163.com
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
addons                                                                                                       |  951 B     00:00    
base                                                                                                         | 2.1 kB     00:00    
extras                                                                                                       | 2.1 kB     00:00    
extras/primary_db                                                                                            | 180 kB     00:00    
updates                                                                                                      | 1.9 kB     00:00    
updates/primary_db                                                                                           | 616 kB     00:00    
Setting up Install Process
No package sshfs available.
Nothing to do



还是不行:接着弄
yum -y install kernel-devel

[root@localhost fuse-2.7.4]# ls -l /usr/src/kernels/
drwxr-xr-x 19 root root 4096 05-10 22:32 2.6.18-164.15.1.el5-i686
drwxr-xr-x 19 root root 4096 01-05 21:47 2.6.18-164.el5-i686
[root@localhost fuse-2.7.4]# ./configure --with-kernel=/usr/src/kernels/2.6.18-164.15.1.el5-i686;make;make install

由于工作需要,需将一台windows2008主机硬盘挂载到一台CentOS主机上,网上查找资料经整理测试,步骤如下:

1、yum -y install sshfs       //下载安装sshfs

2、mkdir /mnt/test              //创建一个挂载点test

3、在windows2008主机上下载安装SSH工具(如F-Secure SSH Server)

4、在windows主机上开启SSH服务

5、sshfs administrator@192.168.1.112:/ /mnt/test      //挂载远程主机(假设远程主机的用户名是administrator,之后提示输入密码时,输入windows密码)

6、cd /mnt/test                //进入挂载目录

7、ls                           //查看目录文件

8、umount /mnt/test    //卸载挂载目录

注意: sshfs是基于fuse模块的,如果在安装sshfs后无法运行,请下载编译这个模块(很多linux系统内核中基本都编译过了)

wget http://voxel.dl.sourceforge.net/sourceforge/fuse/fuse-2.7.4.tar.gz
tar zxpfv fuse-*.gz
cd fuse*
./configure

参考:http://crazytoon.com/2008/10/07/sshfs-how-do-you-install-sshfs-and-fuse-centoslinuxredhat/

windows之外的世界比想像中要大得多呢,几乎天天都在用ssh,却到今天才知道有sshfs这个好东西,前几天还在为ZendStudio可以远程编辑文件欣喜,惭愧啊,终于有比vi scp://hostname//path/to/file更方便的方式了。

sshfs,就是可以把ssh连接到的主机资源,映射到本机的文件系统当中,然后用户可以像操作本地文件一样操作,而实际的文件改动将通过ssh传输到远程主机当中。类似于mount了一个windows共享目录,或者另外一台linux主机的samba共享,或者是nfs共享,只是“共享协议”变成了ssh通道罢了。

ubuntu源中已经包含了sshfs了,以及所需的fuse包,直接apt安装就可以了,一共是三个包:“fuse-utils libfuse2 sshfs”,不大,加起来才179k。安装的时候会自动创建用户组fuse,要使用sshfs的用户需要先加到这个用户组里才行(记得完成后还要重新登录),不然会没有权限执行fusermount:

fuse: failed to exec fusermount: Permission denied

使用就简单的多了,一般来说,连接远程主机到本地用户:

sshfs user@hostname:path mount_point

需要输密码就输密码,当然配置成自动登录的ssh更方便了。用完之后要umount,可以:

fusemount -u mount_point

都是在普通用户非sudo的环境下使用,非常方便的。如果想每次开机都自动挂载,可以在/etc/fstab中加入:

sshfs#user@hostname:path mount_point fuse defaults,auto,allow_other 0 0

这就要求必须先把ssh自动登录配置好了,让root用户能够使用user身份登录远程主机,另外allow_other这个参数很重要,没有这个参数的话,挂载过来的目录只有root能够访问。

关于自动挂载,参考文章中andot用脚本实现的方式也不错,建议大家看看去。
来源:http://www.fwolf.com/blog/post/329

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/3025/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2010-5-27 22:06
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]