版权声明:本文为博主原创文章,未经博主允许不得转载。
当我们需要管理一台远程的linux服务器的时候经常使用的是比较安全的ssh。这里提供一个使用sshfs来挂载远程目录的方法。
当你准备好开始做的时候请打开一个中端并按照下面的步骤进行操作:1、 sudo apt-get install sshfs2、 sudo modprobe fuse3、 sudo adduser <username> fuse 4、 sudo chown root:fuse /dev/fuse 5、 sudo chmod +x /dev/fusermount1. sudo apt-get install sshfs
2. 新建文件夹用于挂载远程目录:mkdir ~/home-server
3. sshfs yourname@remote-host:/path/to/your/dir ~/home-server
4. 卸载时使用 umount ~/home-server
使用 sshfs 将全世界的主机挂载到你的电脑上,这样的说法可能有点哗众取宠的味道,因为实现这个目标必须有一个重要的前提,你必须拥有远程主机的合法登录账号并且该主机提供SSH访问,这样一来,范围就缩小了很多。
如何进行呢?跟我来!
1. 为什么要这样做和这样做的好处?
哦!这个问题?mm....,那么这样说:如果你对远程主机文件的操作能像对待自己的硬盘上一样简单直接,你认为如何?事实上,它在你面前就是一个分区,一个目录,一个硬盘!太酷了?这就是它的好处。
挂载到本地的远程主机目录
2. 如何开始?
你必须在 /mnt 目录下建立相关的挂载点,简单来说就是建立一个可读写的目录,并且使用 sshfs 讲远程主机的硬盘,分区或目录挂载到此目录下,以实现对远程主机文件系统的简单访问和操作。
3. 安装软件
sudo apt-get install sshfs fusemount
4. 实例操作
在此实例中,我们需要将远程主机 "192.168.1.218" 上的“/home”挂载到本地系统的“/mnt/server218” 下,我们已经具备了挂载前的一切必须条件:拥有"192.168.1.218"的账号 “human”和密码,并且218主机提供了ssh访问。
新建目录“server218”并赋予其读写权限:
sudo mkdir /mnt/server218 sudo chmod 777 /mnt/server218
开始挂载:
sshfs human@192.168.1.218:/home/ /mnt/server218/ sshfs 用户名@远程主机IP:远程主机路径 本地挂载点 ##用法解释
在提示下输入218主机的human账号的密码,挂载成功!
现在打开本地 /mnt/server218 看看,Oh,yeah!那就是218主机的home目录,现在你可以对目录下的文件进行新建,复制,粘贴,删除...等等各种操作,就像是自己的硬盘!
卸载:
fusemount -u mount_point fusemount -u 本地挂载目录 #卸载命令
5. 后续问题:
以上操作(除了安装软件) 都是在普通用户非sudo的环境下使用,非常方便,但是笔者在使用的过程中也发现了一些问题,例如远程主机失去响应后本地挂载点卡死并影响本地系统使用,需要手工找出 sshfs进程并杀死,因网速问题造成操作响应缓慢等等,不过一般在稳定快速的网络中不太会遇上,对比其强大的功能,还是可以接受的,正所谓暇不掩瑜。