在windows下可以局域网共享,mount可以在本地挂载磁盘,也可以挂载局域网的网络共享。但有没有想过远程主机的目录挂载到本地主机中(非局域网)。之前了解windows有winscp软件,很方便的在两个系统之间上传和下载数据,但现在有了sshfs,用远程主要的资源和本地没有什么区别,太方便了。
(1) 远程服务器安装ssh
## centos sudo yum install openssh openssh-server ## deepin sudo apt install ssh openssh-server
(2) 本地主机安装 sshfs
## deepin sudo apt install ssh sshfs
本地主机是centos一会儿再说,因为在测试中发现一些问题。
(3) 挂载
sshfs -p port root@ip:/path
比如:远程服务器:
- 目录: /mnt/software
- ip:122.141.78.230
- 端口号:2222
我想要挂载到本机/mnt/remote目录中。
sudo mkdir /mnt/remote sudo sshfs -p 2222 root@122.141.78.230:/mnt/software /mnt/remote
(4) 卸载
umount /mnt/remote
(5) CentOS主机挂载远程目录
我测试的机器是CentOS6.5 安装时发现sshfs不在软件源中,需要添加epel源:
yum install epel-release yum -y install fuse-sshfs
也可以手动下载安装:
CentOS7:
wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el7/en/x86_64/rpmforge/RPMS/fuse-sshfs-2.5-1.el7.rf.x86_64.rpm
CentOS6:
wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/fuse-sshfs-2.5-1.el6.rf.x86_64.rpm
之后进行安装
rpm -ivh fuse-sshfs-2.5-1.el6.rf.x86_64.rpm
在连接的时候出现错误提示:
sudo sshfs -p 2222 root@122.141.78.230:/mnt/software /mnt/remote read: connection reset by peer
查了一下网络的各种解决方案:
- 服务器防火墙限定,
- 是否达到ssh的最大连接数,超过之后会服务器端会拒绝新的连接,直到有新的连接释放出来
- /etc/hosts.allow和/etc/hosts.deny配置文件限定ip登录
没发现什么问题,后来运行ssh看看能不能连上,发现没有这个命令。 安装一下:
sudo yum install openssh
提示已经安装,最终解决:
sudo yum install openssh-clients
看来不同的发行版本之间还是有差异的。
当挂载完成之后,发现访问不了(非管理员用户)。只能通过root访问,加上allow_other选项即可:
sudo sshfs -p 2222 -o allow_other root@122.141.78.230:/mnt/software /mnt/remote
来源:https://www.cnblogs.com/myccloves/p/9419604.html