在Debian上使用SSHFS挂载远程文件系统

时间:2020-03-21 11:42:18  来源:igfitidea点击:

当您需要跨系统复制文件时,SSHFS在远程服务器上非常方便。
SCP很好,SSHFS有时更好。

什么是SSHFS?

参考手册页,SSHFS(安全shell文件系统)是一种文件系统,能够仅通过远程计算机上的安全shell(SSH)登录名对远程计算机上的文件进行操作。

SSHFS的实际好处是,最终用户可以与通过SSH安全提供服务的远程文件进行无缝交互,就像它们是计算机上的本地文件一样。
在远程计算机上,使用SSH的SFTP子系统。

安装

# apt-get update && apt-get install sshfs fuse

配置

加载fuse内核模块:

# modprobe fuse

默认情况下,我们的普通用户sandy不是保险丝组的成员:

# grep fuse /etc/group
fuse:x:109:

将sandy添加到fuse组中:

# usermod -aG fuse sandy

登录:

# su -l sandy

创建用于挂载远程文件系统的挂载点:

$mkdir ~/temp

在以下示例中,我们将挂载整个根文件系统。
您可以挂载您选择的特定远程目录,例如/home或者/tmp

挂载远程根文件系统:

$sshfs [email protected]:/~/temp -C -p 12

Sandy既是本地系统上的常规用户,也是远程系统上的常规用户。
参数:

  • -C:启用SSH链接上的数据压缩。

  • -p:用于SSH连接的自定义端口。

下面的df输出显示了已挂载的文件系统的外观:

$df -hT | egrep 'File|temp'
Filesystem

Type

Size  Used Avail Use% Mounted on
[email protected]:/ fuse.sshfs    35G  6.2G   28G  19% /home/sandy/temp

要卸载文件系统,请执行以下操作:

$fusermount -u ~/temp