运维开发网

在Ubuntu/Fedora/Arch/CentOS上安装及使用sshfs的方法

运维开发网 https://www.qedev.com 2021-01-15 14:54 出处:云网牛站 作者:叶云
本文演示在Ubuntu/Fedora/Arch/CentOS系统安装sshfs并使用它通过SSH在本地系统上安装远程目录。 SSHFS简介 SSHFS是一个基于FUSE的文件系统,用于在本地安装远程目录,系统通过SSH连接,可以使用

本文演示在Ubuntu/Fedora/Arch/CentOS系统安装sshfs并使用它通过SSH在本地系统上安装远程目录。

 

SSHFS简介

SSHFS是一个基于FUSE的文件系统,用于在本地安装远程目录,系统通过SSH连接,可以使用用于操作sshfs的帮助工具,主要的是sftpman,它可以为SSHFS的大量用户轻松安装和卸载任务。

在Ubuntu/Fedora/Arch/CentOS上安装及使用sshfs的方法

 

在Ubuntu上安装sshfs

SSHFS是基于Linux的软件,需要先安装在本地计算机上才能进行挂载,在基于Ubuntu和Debian的系统上,可以使用apt-get软件包管理器进行安装:

$ sudo apt-get install sshfs

无需配置,安装后你将设置为开始使用sshfs。

 

在Arch上安装sshfs

在Arch上安装SSHFS是使用pacman包管理器或AUR帮助程序,如yaourt和pacaur。

$ sudo pacman -S sshfs

参考:安装及使用Arch Linux/Manjaro系统中的AUR助手yay。

 

在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用户需要能够访问它,参考在linux系统中允许或拒绝SSH访问特定用户或组的方法,确认用户可以访问远程系统后,使用以下语法完成文件系统的安装:

$ sshfs [[email protected]]host:[dir] mountpoint [options]

一些常用的选项是:

-p PORT等效于'-o port=PORT' - >指定远程系统的ssh端口号。

-C相当于'-o compression=yes' - >启用压缩。

-F ssh_configfile指定备用ssh配置文件 - >使用与默认配置文件不同的ssh配置文件,-o用于指定安装选项。

因此,让我们考虑一个带有ssh端口2022的服务器,以及用于挂载/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/fstab文件以在每次引导系统时自动挂载文件系统,语法是:

[email protected]_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse.sshfs defaults,_netdev 0 0

所以在我们的例子中,如:

[email protected]:/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/fstab文件挂载:

$ sudo umount  /home/jmutai/backups

$ sudo mount -a

 

卸载

要卸载远程系统:

$ fusermount3 -u mountpoint

要么:

$ sudo umount mountpoint

 

结语

以上就是安装及使用sshfs的方法,本地安装的文件系统的行为类似于远程存储,你可以对其执行所有文件系统操作,包括文件创建、删除、编辑、移动、复制、压缩、解压缩等,这在处理需要定期更新/批量的项目时很有用,复制到远程服务器,它比每次需要执行数据同步时运行scp/sftp更有效率。

 

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号