在Ubuntu/Fedora/Arch/CentOS上安装sshfs并使用sshfs
本指南旨在演示安装sshfs的步骤,并使用它通过SSH在本地系统上安装远程目录。通过解释什么是SSHFS,如何安装它以及最后如何使用它在本地系统上安装远程目录来开始。
什么是SSHFS?
SSHFS是基于FUSE的文件系统,用于在本地安装远程目录
通过SSH连接的系统。提供了用于操作sshfs的辅助工具,主要的工具是sftpman,它可以减轻SSHFS繁重用户的安装和卸载任务。
在Ubuntu 16.04上安装sshfs
SSHFS是基于Linux的软件,必须先将其安装在本地计算机上,然后才能进行安装。在基于Ubuntu和Debian的系统上,可以使用apt-get软件包管理器进行安装。
$sudo apt-get install sshfs
安装后,无需配置即可开始使用sshfs。
在Arch上安装sshfs
SSHFS在Arch上的安装是使用pacman软件包管理器或者yaourt和pacaur等AUR帮助程序完成的。
$sudo pacman -S sshfs
在Fedora和CentOS上安装sshfs
在基于Red Hat的系统上,sshfs软件包在默认存储库中不可用。我们必须先安装epel,然后从中安装sshfs软件包。
$sudo yum -y install epel-release $sudo yum makecache fast $sudo dnf -y install sshfs
对于CentOS:
$sudo yum -y install sshfs
使用SSHFS在SSH上挂载远程文件系统
为了能够在本地将目录安装在远程服务器上,SSH用户需要能够访问它。一旦确认用户可以访问远程系统,就使用以下语法完成文件系统的挂载:
$sshfs [theitroad@localhost]host:[dir] mountpoint [options]
一些常用的选项是:
-p PORT等效于-o port = PORT>为远程系统指定ssh端口号
-C等效于-o compression = yes>启用压缩
-F ssh_configfile指定备用ssh配置文件>使用与缺省值不同的ssh配置文件。-oused指定安装选项。
因此,让我们考虑一台具有ssh端口2022的服务器,并使用远程位置来挂载being/data/backups。要在启用压缩的情况下挂载它,请很好地使用:
$mkdir /home/jmutai/backups $sshfs outboundmx-02:/data/backups -p 2022 -C /home/jmutai/backups
确认是否成功安装:
$ df -hT | grep fuse.sshfs outboundmx-02:/data/backups fuse.sshfs 17G 5.7G 12G 33% /home/jmutai/backups
现在,我们可以开始使用计算机上的文件,就像它是我们物理连接的远程服务器一样。如果导航到/home/jmutai/backups目录,则可以在本地创建文件或者目录,它将显示在远程服务器上。复制到安装目录的所有文件也将自动上载到远程服务器。
$ cd /home/jmutai/backups $touch testfile{1..3}.txt $ls testfile1.txt testfile2.txt testfile3.txt
检查文件是否已上传到远程服务器。
$ ssh outboundmx-02 -p 2022 "ls /data/backups" testfile1.txt testfile2.txt testfile3.txt
永久挂载远程文件系统
SSHFS允许我们将永久性挂载点设置到远程文件系统,该文件系统将通过系统重新引导(本地/远程)而保持不变。要设置永久性挂载点,我们需要修改/etc/fstabfile以便在每次引导系统时自动挂载文件系统。语法为:
theitroad@localhost_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse.sshfs defaults,_netdev 0 0
因此,在我们的示例中,该行将像
theitroad@localhost:/data/backups /home/jmutai/backups use.sshfs defaults,_netdev 0 0
相关选项摘要:
allow_other允许安装程序(即root)以外的其他用户访问共享。
default_permissions允许内核检查权限,即使用远程文件系统上的实际权限。这允许禁止访问allow_other另行授权的所有人。
uid,gid将报告的文件所有权设置为给定值; uid是用户的数字用户ID,gid是用户的数字组ID。
要测试此设置,请先卸载/home/jmutai/backups,然后通过/etc/fstabfile挂载。
$sudo umount /home/jmutai/backups $sudo mount -a
卸载
要卸载远程系统:
$fusermount3 -u mountpoint
或者
$sudo umount mountpoint