本文演示在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 [user@]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文件以在每次引导系统时自动挂载文件系统,语法是: USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse.sshfs defaults,_netdev 0 0 所以在我们的例子中,如: jmutai@outboundmx-02:/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更有效率。
相关主题 |