远程挂载目录
ssk-wh Lv4

从远程主机上拷贝资料时,常用scp或rsync等命令完成。但是每次拷贝都要输入很长一串命令未免太过复杂。

介绍一个配置起来更简单的远程挂载方法:sshfs。

让操作远程目录就像操作本地目录一样。

什么是sshfs

SSHFS(安全 SHell 文件系统)是 Linux(以及其他具有 FUSE 实现的操作系统,例如 Mac OS X 或 FreeBSD)的文件系统,只需使用远程计算机上的安全 shell 登录即可对远程计算机上的文件进行操作。 在安装 SSHFS 的本地计算机上,使用 FUSE(用户空间中的文件系统)内核模块进行实现。

这样做的实际效果是,最终用户可以与通过 SSH 安全提供的远程文件无缝交互,就好像这些文件是他/她计算机上的本地文件一样。 在远程计算机上,会用到 SSH 的 SFTP 子系统。

安装

默认情况下, sshfs 并未安装到Linux发行版中,需要运行如下命令进行安装:

sudo apt-get install -y sshfs

挂载

安装 sshfs 软件包后,需要创建一个挂载目录,最终会将远程目录挂载到此目录。例如,在桌面创建shared文件夹用做挂载目录

1
2
cd ~/Desktop
mkdir remote_desktop

使用 sshfs 命令挂载远程目录,下面的命令会将ip地址为10.20.53.100的机器上的/home/uos/Desktop/shared目录挂载当前机器的~/Desktop/shared目录(注意远端目录需要用绝对路径)

1
sudo sshfs -o allow_other,transform_symlinks uos@10.20.6.67:/home/uos/Desktop remote_desktop

输入远端主机的密码后,即可挂载成功。(transform_symlinks并不是必须的,当挂载的目录中存在ln链接之类的文件时才需要,否则无法获取链接指向的文件)

如果你的远程主机配置了SSH秘钥授权登录,您可以使用如下命令

1
sudo sshfs -o allow_other,transform_symlinks,IdentityFile=~/.ssh/id_rsa uos@10.20.8.67:/home/uos/Desktop remote_desktop

使用ls命令可以直接查看挂载目录中的内容

image

也可以使用df -h查看目录挂载信息

image

永久挂载

可以通过修改/etc/fstab或者在开机自启动的脚本中添加上述的命令

卸载

卸载挂载目录统一用umount

1
sudo umount remote_desktop

image

 Comments