> 网络管理 > sshfs

sshfs: 通过 SSH 挂载远程文件系统

sshfs 是一个客户端,它允许您使用 SSH 文件传输协议将远程服务器的目录挂载到本地文件系统。这使您可以像访问本地磁盘一样浏览和编辑远程文件。它基于 FUSE(Filesystem in Userspace)工作。

概述

sshfs 通过 SSH 连接将远程服务器的文件系统挂载到本地目录,使您可以像访问本地文件一样访问和管理它们。这对于经常编辑远程服务器上的文件或处理大量文件特别有用。

主要特点

  • 基于 FUSE(Filesystem in Userspace)
  • 通过 SSH 安全连接传输数据
  • 可直接访问和编辑远程文件,如同本地文件一样
  • 提供多种挂载选项(权限、缓存、压缩等)

安装

sshfs 通常不包含在大多数 Linux 发行版的默认安装中,因此需要通过包管理器进行安装。

Debian/Ubuntu

sudo apt update && sudo apt install sshfs

使用 apt 包管理器进行安装。

Fedora/CentOS/RHEL

sudo dnf install sshfs

使用 dnf(或 yum)包管理器进行安装。

主要选项

sshfs 提供多种选项,可以精细控制挂载行为。大多数选项通过 `-o` 标志后跟逗号分隔的值来使用。

连接与权限

性能与行为

生成的命令:

请尝试组合命令。

描述:

`sshfs` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

使用 sshfs 将远程目录挂载到本地并进行使用的各种方法。

基本挂载

mkdir -p /local/mount/point
sshfs user@remote_host:/remote/path /local/mount/point

将远程服务器的 `/remote/path` 挂载到本地的 `/local/mount/point`。挂载点需要提前创建。

使用特定 SSH 端口

sshfs -o port=2222 user@remote_host:/remote/path /local/mount/point

通过非默认的 22 端口(例如 2222)尝试 SSH 连接。

允许其他用户访问

sshfs -o allow_other user@remote_host:/remote/path /local/mount/point

允许除挂载用户之外的其他用户访问挂载的文件系统。

使用 SSH 密钥文件

sshfs -o IdentityFile=~/.ssh/id_rsa user@remote_host:/remote/path /local/mount/point

使用 SSH 密钥文件进行认证,而不是密码。

卸载

fusermount -u /local/mount/point

卸载挂载的文件系统。`fusermount` 用于安全地卸载 FUSE 文件系统。

提示与注意事项

使用 sshfs 时的一些有用提示和需要注意的事项。

卸载的重要性

完成工作后,务必使用 `fusermount -u <挂载点>` 命令卸载挂载。否则,系统可能不稳定或发生文件系统错误。

性能优化

在网络延迟较高的环境中,可以使用 `cache=yes` 选项来提高性能。反之,`compression=yes` 可能会增加 CPU 使用率,因此需要根据网络带宽和 CPU 资源之间的平衡来使用。

权限问题

`allow_other` 选项允许其他用户访问挂载的文件系统。请谨慎使用,并注意安全。如有需要,可以使用 `uid` 和 `gid` 选项以特定用户/组的权限进行挂载。

自动挂载 (fstab)

要在系统启动时自动挂载 sshfs,可以编辑 `/etc/fstab` 文件。但此方法需要 SSH 密钥认证等额外配置,并且可能因网络连接状态而出现问题,因此需要仔细配置。


相同类别命令