通常,我们在 Linux 系统中挂载本地文件系统或目录。但有时您可能需要在 Linux 中挂载远程文件系统或目录。在本文中,我们将学习如何在 Linux 中挂载远程文件系统或目录。这对于需要使用远程系统的系统管理员很有用。为此,我们将使用 SSHFS(Secure Shell File system)。它允许您通过 SSH 访问和传输文件和目录。它还允许您创建远程文件系统,而不会影响内核代码。
如何在 Linux 中挂载远程文件系统或目录
以下是在 Linux 中挂载远程文件系统或目录的步骤。
1、在Linux中安装SSHFS客户端
首先,打开终端并运行以下命令在本地客户端系统上安装 SSHFS。
# yum install sshfs
# dnf install sshfs [在 Fedora 22+ 版本上]
$ sudo apt-get install sshfs [在基于 Debian/Ubuntu 的系统上]
2.创建挂载目录
安装 SSHFS 后,使用以下命令创建挂载目录。
# mkdir /mnt/test [在 RHEL/CentOS/Fedora 上]
$ sudo mkdir /mnt/test [在基于 Debian/Ubuntu 的系统上]
3.挂载远程文件系统
创建挂载点后,以root 身份运行以下命令,将远程文件系统挂载到 /mnt/test。将 user_name 替换为远程 SSH 用户名,将 xxxx 替换为远程 SSH IP 地址。以下命令将在本地挂载点 /mnt/test 挂载远程目录 /home/test。
# sshfs user_name@xxxx:/home/test/ /mnt/test [在 RHEL/CentOS/Fedora 上]
$ sudo sshfs -o allow_other user_name@xxxx:/home/test/ /mnt/test [在 Ubuntu/Debian 系统傻瓜]
系统将要求您输入需要输入的 SSH 密码。如果您的远程 SSH 用户配置为使用基于密钥的身份验证,那么您需要改用以下命令。
# sshfs -o IdentityFile=~/.ssh/id_rsa test@xxxx:/home/test/ /mnt/test
[在 RHEL/CentOS/Fedora 上]
$ sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa tecmint@xxxx:/home/test/ /mnt/test [在 Ubuntu/Debian 上]
4. 验证远程文件系统
一旦远程文件系统被挂载,您就可以像访问本地文件夹 /mnt/test 一样访问其内容。
# cd /mnt/tecmint
#ls
您还可以使用以下命令查看远程文件系统。
# df -hT
5. 永久挂载远程文件系统
上述步骤只会挂载远程文件系统,直到下次重新启动。重新启动本地系统后,上述安装将丢失。如果要永久挂载远程文件系统,则需要对 /etc/fstab 文件进行以下更改。使用以下命令在文本编辑器中打开它。
# vi /etc/fstab [在 RHEL/CentOS/Fedora 上]
$ sudo vi /etc/fstab [在基于 Debian/Ubuntu 的系统上]
将以下行添加到文件的底部。每次系统启动时都会自动执行此命令。将 user_name 替换为您的 SSH 用户名,将 xxxx 替换为远程 IP 地址。
sshfs#user_name@x.x.x.x:/home/linuxmi/ /mnt/test fuse.sshfs defaults 0 0
确保您已在远程服务器中启用无密码 SSH 登录。否则,安装将失败,因为它没有收到密码。
如果您的远程服务器接受基于密钥的身份验证,请改为添加以下命令。
sshfs#user_name@xxxx:/home/linuxmi/ /mnt/test fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
添加以上行后,添加以下命令。
# mount -a [在 RHEL/CentOS/Fedora 上]
$ sudo mount -a [在基于 Debian/Ubuntu 的系统上]
保存并关闭文件。
6.卸载文件系统
如果要卸载远程文件系统,请运行以下命令。
# umount /mnt/test
在本文中,我们学习了如何在 Linux 中挂载远程文件系统。这是从本地系统轻松访问远程文件的好方法。