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

原创
ithorizon 7个月前 (10-08) 阅读数 28 #Linux

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

SSHFS(Secure SHell Filesystem)是一种使用SSH协议来挂载远程文件系统或目录的Linux工具。通过SSHFS,用户可以在本地系统上访问远程服务器的文件系统,就像访问本地文件系统一样。这种方法在远程文件共享、远程开发以及需要跨网络访问文件系统时非常有用。

1. 安装SSHFS

首先,您需要在本地和远程服务器上安装SSHFS。以下是安装SSHFS的步骤:

本地服务器(运行SSHFS客户端)

sudo apt-get update

sudo apt-get install sshfs

远程服务器(运行SSHFS服务器端)

虽然SSHFS本身不要求远程服务器上安装任何特殊的软件,但您需要确保远程服务器赞成SSH连接,并且SSH服务是开启的。以下是远程服务器上也许需要的步骤:

sudo apt-get update

sudo apt-get install openssh-server

sudo systemctl start ssh

sudo systemctl enable ssh

2. 配置SSH免密登录

为了简化SSHFS挂载过程,建议配置SSH免密登录。这样,您就不需要在挂载时输入密码。

生成SSH密钥对

ssh-keygen -t rsa -b 4096

按提示操作,选择合适的文件保存密钥对。默认情况下,密钥对会保存在~/.ssh目录下。

将公钥复制到远程服务器

ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@远程服务器地址

这将把您的公钥添加到远程服务器的~/.ssh/authorized_keys文件中,并设置适当的权限。

3. 挂载远程文件系统或目录

配置好SSH免密登录后,您可以使用以下命令挂载远程文件系统或目录:

sudo sshfs 用户名@远程服务器地址:/远程目录路径 /本地挂载点 -o allow_other,uid=用户ID,gid=组ID

以下是命令的参数说明:

  • 用户名@远程服务器地址:SSH连接的用户名和服务器地址。
  • /远程目录路径:远程服务器上的目录路径。
  • /本地挂载点:本地系统上的挂载点,即挂载后的目录。
  • -o allow_other:允许非root用户挂载。
  • uid=用户ID:设置挂载点的用户ID。
  • gid=组ID:设置挂载点的组ID。

例如,将远程服务器上的/home/user目录挂载到本地系统的/mnt/remote目录,命令如下:

sudo sshfs user@192.168.1.100:/home/user /mnt/remote -o allow_other,uid=1000,gid=1000

4. 卸载挂载的文件系统或目录

当您不再需要访问远程文件系统或目录时,可以使用以下命令卸载:

sudo fusermount -u /本地挂载点

例如,卸载前面挂载的远程目录:

sudo fusermount -u /mnt/remote

5. 高级配置

SSHFS赞成许多高级配置选项,如缓存、权限设置、挂载选项等。以下是一些常见的配置选项:

  • Cache:开启或关闭缓存。
  • Mount options:设置挂载选项,如ro(只读)、rw(读写)、default_permissions(默认权限)等。
  • Server mount options:设置远程服务器端的挂载选项。

例如,以下命令将远程目录挂载为只读模式,并开启缓存:

sudo sshfs user@192.168.1.100:/home/user /mnt/remote -o ro,cache=memory

总结

SSHFS是一种方便的远程文件系统挂载工具,可以帮助您轻松访问远程服务器上的文件系统。通过配置SSH免密登录和挂载远程目录,您可以在本地系统上像访问本地文件一样访问远程文件。期待本文能帮助您了解和使用SSHFS。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: Linux


热门