利用sshfs远程挂载文件

 环境:centos5.4 servernode

 

1.在挂载主机192.168.1.101上配置ssh自动登陆到被挂载主机192.168.1.100(即资源主机)
在挂载主机192.168.1.101上建立公钥:
# ssh-keygen -t rsa  (这里也能够将RSA改为dsa,)
一路回车默认,最后在用户家目录/.ssh下生成id_rsa.pub文件
复制上面的公钥到被挂载主机192.168.1.100上
有2种方法:
(1)
# ssh-copy-id -i /挂载主机家目录/.ssh/id_rsa.pub 被挂载主机用户@被挂载主机
直接ssh 被挂载主机,进行测试,不ok就用下面的老方法
(2)
# scp ~/.ssh/id_rsa.pub 被挂载主机用户@被挂载主机:/home/username
而后再测试,看是否要密码
# ssh 被挂载主机用户@被挂载主机
Ok,接下来在被挂载主机上进行下面操做
# cat ~/id_rsa.pub >> ~/.ssh/authorized_keys2
保证authorized_keys2的权限是644
(网上说的,个人默认生成的就是644,多是root登录的缘故)
 
2.在挂载主机安装fuse包
 
检查挂载主机是否已经安装了fuse包
有则略过,无则安装
采用任意一种方法rpm,tarbar,yum安装
装好后要测试一下是否安装成功
看内核有没有fuse模块
 
个人挂载主机安装了以下包:
fuse-libs-2.7.4-8.el5
fuse-devel-2.7.4-8.el5
fuse-libs-2.7.4-8.el5
fuse-devel-2.7.4-8.el5
fuse-2.7.4-8.el5
请参考。
 
 
*注:综合步骤二、3来讲,网上说只要安装fuse-utils,sshfs 两个包,未测试
 
3.在挂载主机安装sshfs-fuse包
 
wget ssh-fuse-xxx.tar.gz
tar xvzf ssh-fuse-xxx.tar.gz
cd ssh-fuse-xxx
./configure && make && make install
 
4.创建挂载目录,更改目录属性
mkdir /mnt/sshfsdir
chown [your-user]:[your-group] /mnt/sshfsdir
个人是chown root:fuse /mnt/sshfsdir
 
5.检查/dev/fuse的permission
 
chown root:fuse /dev/fuse
 
6. 在/etc/group中加入[your-user]
如:fuse:x:106:root(我用的链接用户是root)
 
7.开始mount
 
sshfs 被挂载主机用户@被挂载主机:/资源目录 /mnt/sshfsdir
用后,能够用umount卸载
 
8.开机自动挂载
vim /etc/fstab
追加以下条目
sshfs#root@192.168.1.100:/mnt/sdb /mnt/sshfs fuse rw,nosuid,nodev 0 0
mount -a