本文演示在Ubuntu/Fedora/Arch/CentOS系统安装sshfs并使用它通过SSH在本地系统上安装远程目录。
SSHFS简介
SSHFS是一个基于FUSE的文件系统,用于在本地安装远程目录,系统通过SSH连接,可以使用用于操作sshfs的帮助工具,主要的是sftpman,它可以为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更有效率。
- 1 玩客云刷armbian架设nginx php mysql 及可道私有云总结
- 2 centos安装好mysql但是无法启动问题(Job for mysqld.service failed because the control process exited with error code.)
- 3 Ubuntu缺少libncurses.so.5的解决办法
- 4 Grafana之Gauge和Bar Gauge使用(第十一篇)
- 5 RHEL 8 安装 Oracle 19c 提示缺少 libnsl.so.1
- 6 df空间占用已满,但du查看home目录空间占用却很少
- 7 vim.fault.GenericVmConfigFault
- 8 linux-kernel – 将设备树中断标志映射到devm_request_irq
- 9 cron: can’t lock /var/run/crond.pid, otherpid may be 2699: Resource temporarily unavailable
- 10 CentOS 7.7 yum方式安装配置Zabbix 4.0 LTS详解(二)
精彩评论