如何使用SSHFS通过SSH挂载远程Linux文件系统或目录

写这篇文章的主要目的是提供有关如何使用SSHFS客户端通过SSH挂载远程Linux文件系统一步一步的指导。

本文对那些希望在其本地系统上安装远程文件系统的用户和系统管理员都有用。 我们实际上通过我们的Linux系统的一个安装SSHFS客户端测试,并成功地挂载远程文件系统。

我们去之前,进一步的安装,让我们了解有关SSHFS以及它如何工作的。

Sshfs挂载远程Linux文件系统或目录

什么是SSHFS?

SSHFS代表,使我们能够挂载远程文件系统并使用SSH文件传输协议(SFTP)远程目录和本地机器上的文件进行交互( 安全外壳文件系统 )客户端。

建议阅读: 10 SFTP命令示例将文件传输在Linux中远程服务器

SFTP是一个安全的文件传输协议,提供文件访问,文件传输和文件管理功能安全外壳协议。 由于SSH使用加密,同时通过网络从一台计算机传输文件到另一台计算机和SSHFS带有内置保险丝( 文件系统在用户空间 )内核模块,允许任何非特权用户无需修改内核代码创建自己的文件系统。

在本文中,我们将告诉你如何安装和使用SSHFS客户在任何Linux发行挂载远程Linux文件系统或目录的本地Linux机器上。

第1步:在Linux系统中安装SSHFS客户端

默认情况下sshfs的包并不存在于所有主要的Linux发行版,则需要启用EPEL软件库在你的Linux系统与Yum命令的帮助,他们的依赖安装sshfs的。

# yum install sshfs
# dnf install sshfs              [On Fedora 22+ releases]
$ sudo apt-get install sshfs     [On Debian/Ubuntu based systems]

第2步:创建SSHFS安装目录

安装sshfs软件包后,您需要创建一个安装点目录,您将在其中安装远程文件系统。 例如,我们已经下创建的安装目录/mnt/youcl

# mkdir /mnt/youcl
$ sudo mkdir /mnt/youcl     [On Debian/Ubuntu based systems]

第3步:使用SSHFS安装远程文件系统

一旦你创建你的挂载点目录,现在运行以下命令作为root用户下挂载远程文件系统/mnt/youcl 在你的情况下,挂载目录将是任何东西。

以下命令将挂载称为远程目录/home/youcl/mnt/youcl在本地系统。 (不要忘了你的IP地址替换xxxx,并挂载点)。

# sshfs youcl@x.x.x.x:/home/youcl/ /mnt/youcl
$ sudo sshfs -o allow_other youcl@x.x.x.x:/home/youcl/ /mnt/youcl     [On Debian/Ubuntu based systems]

如果您的Linux服务器配置了基于SSH密钥的授权,那么您将需要指定公钥的路径,如以下命令所示。

# sshfs -o IdentityFile=~/.ssh/id_rsa youcl@x.x.x.x:/home/youcl/ /mnt/youcl
$ sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa youcl@x.x.x.x:/home/youcl/ /mnt/youcl     [On Debian/Ubuntu based systems]

第4步:验证远程文件系统是否已安装

如果你没有任何错误成功运行上面的命令,你会看到的安装在远程文件和目录列表中/mnt/youcl

# cd /mnt/youcl
# ls
[root@ youcl]# ls
12345.jpg                       ffmpeg-php-0.6.0.tbz2                Linux                                           news-closeup.xsl     s3.jpg
cmslogs                         gmd-latest.sql.tar.bz2               Malware                                         newsletter1.html     sshdallow
epel-release-6-5.noarch.rpm     json-1.2.1                           movies_list.php                                 pollbeta.sql
ffmpeg-php-0.6.0                json-1.2.1.tgz                       my_next_artical_v2.php                          pollbeta.tar.bz2

第5步:使用df -hT命令检查装载点

如果您运行的DF-HT命令,你会看到远程文件系统挂载点。

# df -hT
示例输出
Filesystem                          Type        Size  Used Avail Use% Mounted on
udev                                devtmpfs    730M     0  730M   0% /dev
tmpfs                               tmpfs       150M  4.9M  145M   4% /run
/dev/sda1                           ext4         31G  5.5G   24G  19% /
tmpfs                               tmpfs       749M  216K  748M   1% /dev/shm
tmpfs                               tmpfs       5.0M  4.0K  5.0M   1% /run/lock
tmpfs                               tmpfs       749M     0  749M   0% /sys/fs/cgroup
tmpfs                               tmpfs       150M   44K  150M   1% /run/user/1000
youcl@192.168.0.102:/home/youcl fuse.sshfs  324G   55G  253G  18% /mnt/youcl

推荐阅读: 12有用的“东风”命令检查磁盘空间的Linux

第6步:永久安装远程文件系统

要挂载远程文件系统永久性地,你需要编辑称为文件/etc/fstab 要做,使用您喜欢的编辑器打开文件。

# vi /etc/fstab
$ sudo vi /etc/fstab     [On Debian/Ubuntu based systems]         

转到文件的底部,并向其中添加以下行并保存文件并退出。 以下条目使用默认设置装载远程服务器文件系统。

sshfs#youcl@x.x.x.x:/home/youcl/ /mnt/youcl fuse.sshfs defaults 0 0

确保你已经SSH密码登录的服务器自动之间进行系统安装过程中重新启动文件系统..

如果您的服务器配置了基于SSH密钥的授权,则添加以下行:

sshfs#youcl@x.x.x.x:/home/youcl/ /mnt/youcl fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0

接下来,您需要更新fstab文件以反映更改。

# mount -a
$ sudo mount -a   [On Debian/Ubuntu based systems]

第7步:卸载远程文件系统

要卸载远程文件系统,jun发出以下命令,它将卸载远程文件系统。

# umount /mnt/youcl

这就是现在,如果你面临任何困难或需要任何帮助,在安装远程文件系统,请通过评论与我们联系,如果你觉得这篇文章是非常有用的,然后与你的朋友分享。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏