使用 SSHFS 挂载远程文件系统

Table of Contents

Linux 内核提供了 FUSE(用户空间文件系统)特性,可让用户在不动内核代码的情况下创建自己的文件系统。SSHFS 基于 FUSE,利用 SSH 协议把远程机器的文件系统挂载到本地。

一般发行版都可用包管理器安装,如 Fedora:

sudo dnf install sshfs

或从官方源码仓库下载:https://github.com/libfuse/sshfs

例,将远程主机的 home 目录挂载到本地 /media/remote 目录下:

sudo sshfs -o allow_other -F /home/lu4nx/.ssh/config host:/home/lu4nx /media/remote -d

参数说明:

如果要单独指定私钥文件,就在 -o 参数值中加上 IdentityFile:

sudo sshfs allow_other, IdentityFile=/home/lu4nx/.ssh/key host:/home/lu4nx /media/remote

挂载好之后,访问本地 /media/remote 目录即可。

1 查看挂载信息、卸载挂载点

  • 通过 mount 命令可以查看到挂载信息。
  • 通过 df 命令也可以看到挂载的远程文件系统的磁盘占用情况。
  • 用 umount [挂载的目录],可卸载挂载点。

1.1 配置开机自动挂载

在 /etc/fstab 新增:

sshfs#[email protected]地址x:/home/lu4nx/ /media/remote fuse.sshfs defaults 0 0

接着执行 mount -a 测试是否成功。

注意确保开机时可以访问对应的主机。