写这篇文章的主要目的是提供一个关于如何使用SSHFS通过SSH挂载远程Linux文件系统或目录的分步指南SSH。本文对出于任何目的希望在本地系统上安装远程文件系统的用户或系统管理员很有帮助。我们在其中一台Linux系统上安装了SSHFS客户端进行实测,并成功挂载了远程文件系统。在我们继续安装之前,让我们先了解一下SSHFS是什么以及它是如何工作的。什么是SSHFS?SSHFS(SecureSHellFileSystem)是一个客户端,它允许我们通过SSH文件传输协议(SFTP)挂载远程文件系统,并与本地机器上的远程目录和文件进行交互。SFTP是一种安全的文件传输协议,它通过SSH协议提供文件访问、文件传输和文件管理功能。因为SSH在网络中将文件从一台计算机传输到另一台计算机时使用了数据加密通道,而SSHFS内置于FUSE(用户空间文件系统)内核模块中,允许任何非特权用户在其下创建自己的文件系统。在本文中,我们将向您展示如何在任何Linux发行版上安装和使用SSHFS客户端,以在本地Linux机器上挂载远程Linux文件系统或目录。第1步:在Linux系统上安装SSHFS默认情况下,并非所有主流Linux发行版都提供sshfs软件包,您需要在Linux系统中启用epel存储库并借助Yum命令行安装SSHFS及其依赖项。#yuminstallsshfs#dnfinstallsshfs【在Fedora22+发行版上】$sudoapt-getinstallsshfs【基于Debian/Ubuntu的系统】第二步:创建SSHFS挂载目录安装SSHFS包后,需要创建一个挂载点目录,这里将挂载你的远程文件系统。比如我们在/mnt/tecmint下创建一个挂载目录。#mkdir/mnt/tecmint$sudomkdir/mnt/tecmint【基于Debian/Ubuntu的系统】第三步:使用SSHFS挂载远程文件系统创建挂载点目录后,现在以root用户运行以下命令行,mount/mnt/tecmint目录中的远程文件系统。根据您的情况,挂载目录可以是任何目录。以下命令行将在本地/mnt/tecmint目录下挂载远程/home/tecmint目录。(不要忘记用您的IP地址和挂载点替换x.x.x.x)。#sshfstecmint@x.x.x.x:/home/tecmint//mnt/tecmint$sudosshfs-oallow_othertecmint@x.x.x.x:/home/tecmint//mnt/tecmint【基于Debian/Ubuntu的系统】如果你的Linux服务器配置为基于SSHkeyauthorization,那么您将需要使用如下所示的命令行指定公钥的路径。#sshfs-oIdentityFile=~/.ssh/id_rsatecmint@x.x.x.x:/home/tecmint//mnt/tecmint$sudosshfs-oallow_other,IdentityFile=~/.ssh/id_rsatecmint@x.x.x.x:/home/tecmint//mnt/tecmint[基于在Debian/Ubuntu系统上]第四步:验证远程文件系统是否挂载成功如果你成功运行了上面的命令,没有任何错误,你会看到远程文件挂载在/mnt/tecmint目录和目录列表#cd/mnt/tecmint#ls[root@tecmint]#ls12345.jpgffmpeg-php-0.6.0.tbz2Linuxnews-closeup.xsls3.jpgcmslogsgmd-latest.sql.tar.bz2Malwarenewsletter1.htmlsshdallowepel-release-6-5.noarch.rpmjson-1.2.1movies_list.phppollbeta.sqlffmpeg-php-0.6.0json-1.2.1.tgzmy_next_artical_v2.phppollbeta.tar.bz2第5步:使用df-hT命令检查挂载点如果你运行df-hT命令,你会看到挂载点远程文件系统的点。#df-hT样本输出:FilesystemTypeSizeUsedAvailUse%Mountedonudevdevtmpfs730M0730M0%/devtmpfstmpfs150M4.9M145M4%/run/dev/sda1ext431G5.5G24G19%/tmpfstmpfs749M216K748M1%/dev/shmtmpfstmpfs5.0M4.0K5.0M1%/run/locktmpfstmpfs749M0749M0%/sys/fs/cgrouptmpfstmpfs150M44K150M1%/run/user/1000tecmint@192.168.0.102:/home/tecmintfuse.sshfs324G55G253G18%/mnt/tecmint第六步:永久挂载远程文件系统为了永久挂载远程文件系统,需要修改一个名为/etc/fstab文件。为此,请使用您喜欢的编辑器打开该文件。#vi/etc/fstab$sudovi/etc/fstab[Debian/Ubuntu-basedsystems]移动到文件底部并添加以下行,保存文件并退出。以下条目表示远程文件系统是使用默认设置安装的。sshfs#tecmint@x.x.x.x:/home/tecmint//mnt/tecmintfuse.sshfsdefaults00确保服务器之间允许SSH无密码登录,这样系统重启后可以自动挂载文件系统。如果您的服务器配置为基于SSH密钥的身份验证,请添加以下行:sshfs#tecmint@x.x.x.x:/home/tecmint//mnt/tecmintfuse.sshfsIdentityFile=~/.ssh/id_rsadefaults00接下来,您需要更新fstab文件以使修改生效。#mount-a$sudomount-a[基于Debian/Ubuntu的系统]第7步:卸载远程文件系统要卸载远程文件系统,只需发出以下命令。#umount/mnt/tecmint到此为止,如果您在挂载远程文件系统时遇到任何问题或需要任何帮助,请通过评论与我们联系,如果您觉得本文有用,请分享给您的朋友。
