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


在您的 Linux 系统上挂载远程文件系统或目录可以方便地访问存储在远程服务器上的文件和数据。实现此目的的一种流行且安全的方法是使用 SSHFS(SSH 文件系统)。SSHFS 允许您在本地计算机上挂载远程目录,使您能够像访问本地存储的文件一样与远程文件交互。

在本教程中,我们将探讨如何通过 SSHFS 通过 SSH 挂载远程 Linux 文件系统或目录。这种方法确保了本地计算机和远程服务器之间的数据传输是加密和安全的。

在本指南结束时,您将清楚地了解设置 SSHFS、配置基于 SSH 密钥的身份验证、挂载远程文件系统或目录以及对已挂载文件执行基本操作的必要步骤。

先决条件

在开始之前,请确保您已具备以下先决条件:

  • Linux 系统 确保您的本地计算机上安装了基于 Linux 的操作系统。SSHFS 在各种 Linux 发行版上得到广泛支持。

  • SSH 访问 确保您可以访问要挂载的远程服务器。您应该拥有连接到远程服务器所需的凭据(用户名和密码或 SSH 密钥)。

  • SSHFS 软件包 验证您的本地计算机上是否安装了 SSHFS。如果没有,您可以使用特定于 Linux 发行版的软件包管理器安装它。例如,在基于 Ubuntu 或 Debian 的系统上,您可以通过运行以下命令安装 SSHFS:

sudo apt-get install sshfs

现在我们已经涵盖了先决条件,让我们继续执行使用 SSHFS 挂载远程 Linux 文件系统或目录的步骤。

步骤 1:生成 SSH 密钥对(可选但推荐)

为了增强安全性并提高便利性,建议使用基于 SSH 密钥的身份验证而不是密码身份验证。如果您尚未设置 SSH 密钥身份验证,则可以使用以下步骤生成密钥对:

  • 在您的本地计算机上打开一个终端。

  • 通过运行以下命令生成 SSH 密钥对:

ssh-keygen -t rsa -b 4096
  • 按照屏幕上的提示提供密钥对的位置,并可选地设置密码短语。按 Enter 接受默认值。

  • 生成密钥对后,您可以通过运行以下命令查看公钥:

cat ~/.ssh/id_rsa.pub
  • 复制公钥的全部内容。

Learn Linux/Unix in-depth with real-world projects through our Linux/Unix certification course. Enroll and become a certified expert to boost your career.

步骤 2:在远程服务器上配置基于 SSH 密钥的身份验证

要在远程服务器上配置基于 SSH 密钥的身份验证,请按照以下步骤操作

  • 使用 SSH 连接到远程服务器。如果您使用的是密码身份验证,则在提示时输入您的密码。

  • 通过运行以下命令创建 SSH 目录(如果尚不存在):

mkdir -p ~/.ssh
  • 使用文本编辑器打开 authorized_keys 文件。如果文件不存在,请通过运行以下命令创建它:

touch ~/.ssh/authorized_keys
  • 将公钥的内容(在步骤 1 中复制)粘贴到 authorized_keys 文件中。

  • 保存更改并退出文本编辑器。

  • 通过运行以下命令设置 SSH 目录和 authorized_keys 文件的适当权限

chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys

现在基于 SSH 密钥的身份验证已设置,让我们继续使用 SSHFS 挂载远程文件系统或目录。

使用 SSHFS 挂载远程 Linux 文件系统

要使用 SSHFS 挂载远程 Linux 文件系统或目录,请按照以下步骤操作:

步骤 1:创建挂载点

  • 在您的本地计算机上打开一个终端。

  • 创建一个目录,该目录将用作远程文件系统的挂载点。例如,您可以在主目录中创建一个名为“remote-mount”的目录:

mkdir ~/remote-mount

步骤 2:挂载远程文件系统

  • 运行以下命令使用 SSHFS 挂载远程文件系统:

sshfs username@remote-server:/path/to/remote-directory ~/remote-mount

将“username”替换为您的远程服务器用户名,“remote-server”替换为远程服务器的主机名或 IP 地址,并将“/path/to/remote-directory”替换为要挂载到远程服务器上的目录的实际路径。例如,如果您的用户名为“john”,远程服务器的 IP 地址为“192.168.1.100”,并且您想挂载远程服务器上的“/data”目录,则命令将为

sshfs john@192.168.1.100:/data ~/remote-mount
  • 在提示时输入您的密码或密码短语。

  • 如果连接成功,则远程文件系统将挂载到指定的挂载点。

步骤 3:访问已挂载的文件

  • 挂载远程文件系统后,您可以使用文件管理器或命令行工具访问其中的文件和目录。

  • 要使用命令行导航到已挂载的目录,您可以使用 cd 命令。例如:

cd ~/remote-mount
  • 现在,您可以对已挂载的文件执行各种操作,例如复制、移动、编辑或删除它们,就像它们是本地文件一样。

卸载远程文件系统

要卸载远程文件系统,请使用 fusermount 命令,后跟挂载点目录。在我们的示例中,命令将为:

fusermount -u ~/remote-mount

在卸载之前,请确保您当前未访问已挂载文件系统中的任何文件或目录。

通过按照这些步骤,您可以轻松地使用 SSHFS 挂载和访问远程 Linux 文件系统或目录。它提供了一种方便的方法来处理远程文件,就像它们是本地文件一样,从而提高您的生产力和灵活性。

结论

总之,使用 SSHFS 挂载远程 Linux 文件系统或目录提供了一种安全且便捷的方式来访问和管理远程服务器上的文件。使用 SSHFS,您可以将远程文件系统与本地系统无缝集成,从而可以使用熟悉的工具和命令轻松执行文件操作。

更新于: 2023年8月9日

7K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告