目录
简介
本文主要介绍Linux服务器之间挂载远程目录的方法,前提条件是两台服务器能够通过SSH进行访问。本文中的服务器信息如下:
类别 | IP | 目录 |
---|---|---|
本机 | 192.168.0.1 | /public |
远程服务器 | 111.111.111.111 | /share |
1.服务器间免密登录准备
1.1 生成本机秘钥
在自己服务器192.168.0.1生成秘钥:ssh-keygen -t rsa 一直回车
ssh-keygen -t rsa
在/root/.ssh/目录下会有如下文件:
authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
know_hosts : 已知的主机公钥清单
如果希望ssh公钥生效需满足至少下面两个条件:
- .ssh目录的权限必须是700
- .ssh/authorized_keys文件权限必须是600
1.2 SCP远程文件拷贝
进入本机.ssh文件下,执行SCP拷贝
# SSH端口:22
scp -P 22 id_rsa.pub root@111.111.111.111:/root/
1.3 目标主机秘钥整理
登录111.111.111.111,进入111主机的root根目录,执行:
cat id_rsa.pub >> .ssh/authorized_keys
1.4 SSH免密登录测试
在自己服务器测试 ssh -p 22 root@111.111.111.111,如果不需要输入密码进入服务器,则测试成功
2. SSHFS远程目录挂载操作
2.1 SSHFS工具安装及挂载
将远程主机111.111.111.111的share目录挂载到本机的public下:
#-----安装sshfs-----
sudo apt install sshfs
#-----挂载路径-----
sshfs root@111.111.111.111:/share /public
#-----取消挂载-----
fusermount -u /public
# 或
unmount /public
2.1 SSHFS挂载多用户权限解决
若主机中存在多个用户,root用户用上一节的挂载命令时,只能够root用户访问,而其他用户不具备权限,会出现无法访问的情况。即使赋权限777仍旧不行,所以如果需要其他他用户也能够访问该挂载目录,则需要重新挂载,并执行如下命令:
sshfs -o rw,allow_other root@111.111.111.111:/share /public
上述命令中:rw为读写权限,allow_other为允许所有用户
另外,值得注意的是,在某些机器中,若测试不成功,可能需要更改文件/etc/fuse.conf,将#user_allow_other 的#删除(取消注释),再进行挂载。