使用 SSHFS 挂载远程的 Linux 文件系统及目录

2025-04-21 07:45:14

在《linux就该这么学》第十九章有简单讲过通过SSH远程连接服务器,甚至还可以使用scp命令传输文件,当我们需要在本地机器上和远程的目录和文件进行交互时,总是会考虑到安全之类的维咩缡朊问题,那么SSHFS将会是一个不错的选择。希望在他们本地的系统中挂载远程的文件系统的用户或者系统管理员有帮助。我们通过Linux系统中的一个安装了 SSHFS 客户端进行实际测试,并且成功的挂载了远程的文件系统。

工具/原料

centos

shell

什么是 SSHFS

1、SSHFS(Secure SHell FileSystem)是一个客户端,可以让我们通过 SSH 文件传输协议(SFTP)掎孢豳穆挂载远程的文件系统并且在本地机器上和远程的目录和文件进行交互。SFTP 是一种通过 SSH 协议提供文件访问、文件传输和文件管理功能的安全文件传输协议。因为 SSH 在网络中从一台电脑到另一台电脑传输文件的时候使用数据加密通道,并且 SSHFS 内置在 FUSE(用户空间的文件系统)内核模块,允许任何非特权用户在不修改内核代码的情况下创建他们自己的文件系统。在这篇文章中,我们将会向你展示在任意 Linux 发行版上如何安装并且使用 SSHFS 客户端,在本地 Linux 机器上挂载远程的 Linux 文件系统或者目录。

2、步骤1:在 Linux 系统上安装 SSHFS默认情况下,sshfs 包不存在所有的主流 Linux 发行版中,你需要在你的 Linux 系统中启用 epel,在 Yum 命令行的帮助下安装 SSHFS 及其依赖。

使用 SSHFS 挂载远程的 Linux 文件系统及目录

3、步骤2:创建 SSHFS 挂载目录当你安装 SSHFS 包之后,你需要创建一个挂载点目录,在这儿你将要挂载你的远程文件系统。例如,我们在 /mnt/tecmint 下创建挂载目录

使用 SSHFS 挂载远程的 Linux 文件系统及目录

4、步骤 3:使用 SSHFS 挂载远程的文件系统当你已经创建你的挂载点目录之后,现在使用 root 用户运行下面的命令行,在 /mnt/tecmint 目录下挂载远程的文件系统。视你的情况挂载目录可以是任何目录。下面的命令行将会在本地的 /mnt/tecmint 目录下挂载一个叫远程的一个 /home/tecmint 目录。(不要忘了使用你的 IP 地址和挂载点替换 x.x.x.x)。

使用 SSHFS 挂载远程的 Linux 文件系统及目录

5、如果你的 Linux 服务器配置为基于 SSH 密钥授权,那么你将需要使用如下所示的命令行指定你的公共密钥的路径。

使用 SSHFS 挂载远程的 Linux 文件系统及目录

6、步骤 4:验证远程的文件系统挂载成功如果你已经成功的运行了上面的命令并且没有任何错误,你将会看到挂载在 /mnt/tecmint 目录下的远程的文件和目录的列表

使用 SSHFS 挂载远程的 Linux 文件系统及目录

7、步骤 5:使用 df -hT 命令检查挂载点如果你运行 df -hT命令,你将会看到远程文件系统的挂载点。

使用 SSHFS 挂载远程的 Linux 文件系统及目录

永久挂载远程文件系统

1、为了永久的挂载远程的文竭惮蚕斗件系统,你需要修改一个叫/etc/fstab的文件。照着做,使用你最喜欢的编辑器打开文件。# vi /etc/fstab$ sudo vi /etc/fstab 【基于 Debian/Ubuntu 的系统】 移动到文件的底部并且添加下面的一行,保存文件并退出。下面条目表示使用默认的设置挂载远程的文件系统。sshfs#tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0确保服务器之间允许 SSH无密码登录,这样系统重启之后才能自动挂载文件系统。如果你的服务器配置为基于 SSH 密钥的认证方式,请加入如下行:sshfs#tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0接下来,你需要更新 fstab 文件使修改生效。# mount -a$ sudo mount -a 【基于 Debian/Ubuntu 的系统】

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢