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

linuxopen sourceoperating system

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

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

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

前提条件

在开始之前,请确保您已满足以下前提条件:

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

  • SSH 访问 - 确保您拥有对要挂载的远程服务器的 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
    
    • 复制公钥的全部内容。

    步骤 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,您可以将远程文件系统与本地系统无缝集成,从而使用熟悉的工具和命令轻松执行文件操作。


    相关文章


    有用资源