基于 SFTP 的用户态 FUSE 文件系统,可将远程主机挂载为本地目录,并支持本地缓存与异步回写。
libfuse/sshfs
基于 FUSE 的客户端,通过 SFTP 将远程文件系统挂载到本地,像访问本地目录一样操作 SSH 服务器上的文件。
- Star
- 7,744
- Fork
- 553
- 未关闭 Issue
- 58
- 最近提交
- 7天前
这是什么?
SSHFS 利用 SFTP 将远程文件系统挂载到本地挂载点。大多数 SSH 服务器默认支持 SFTP,因此服务器端无需任何额外配置。执行 sshfs 命令并指定用户、主机和目录即可挂载,省略目录时挂载远程用户的主目录。常见的 SSH 选项(如自定义端口)也可直接传入。
项目还提供直连模式,可跳过 SSH 直接连接 sftp-server,但连接不加密,仅适用于本机或可信网络;另外支持通过 vsock 访问虚拟机内的套接字。编译需要 libfuse 3.1 及以上版本和 GLib,构建工具为 Meson 与 Ninja。Linux 下使用 fusermount 卸载,BSD 与 macOS 下使用 umount。
核心功能
- 01通过 SFTP 挂载远程目录,服务器端无需额外配置
- 02可通过命令行传递 SSH 选项,如自定义端口
- 03支持绕过 SSH、直接连接 sftp-server
- 04支持通过 vsock 连接虚拟机
- 05使用 Meson 与 Ninja 构建,并附带 pytest 测试
适用场景
- 用本地编辑器或 IDE 直接编辑远程服务器上的文件
- 通过 vsock 从宿主机访问虚拟机中的文件
- 挂载远程主目录,日常读写文件
快速上手
- 1
下载最新的 SSHFS 发行版,并安装 libfuse 3.1.0 或更高版本以及 GLib 开发头文件
- 2
创建构建目录,进入该目录并运行 Meson
meson .. - 3
使用 Ninja 构建 SSHFS
ninja - 4
将 SSHFS 安装到系统中
sudo ninja install
使用前须知
- SSHFS 采用 GPL-2.0 许可证,属于 Copyleft 许可证。
- 目前唯一的维护者除高影响问题外无力进行开发,多数错误报告可能得不到回复。
- directport 选项不加密连接,仅应在本机或可信网络中使用。
标签
常见问题
- sshfs 是什么?
- 基于 FUSE 的客户端,通过 SFTP 将远程文件系统挂载到本地,像访问本地目录一样操作 SSH 服务器上的文件。 SSHFS 利用 SFTP 将远程文件系统挂载到本地挂载点。大多数 SSH 服务器默认支持 SFTP,因此服务器端无需任何额外配置。执行 sshfs 命令并指定用户、主机和目录即可挂载,省略目录时挂载远程用户的主目录。常见的 SSH 选项(如自定义端口)也可直接传入。
- sshfs 可以免费使用吗?用的什么许可证?
- sshfs 以 GPL-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- sshfs 还在维护吗?
- 活跃维护中。sshfs 最近一次提交是在 2026年10月31日。
- sshfs 适合用来做什么?
- 用本地编辑器或 IDE 直接编辑远程服务器上的文件 通过 vsock 从宿主机访问虚拟机中的文件 挂载远程主目录,日常读写文件
- sshfs 怎么安装和运行?
- 下载最新的 SSHFS 发行版,并安装 libfuse 3.1.0 或更高版本以及 GLib 开发头文件 创建构建目录,进入该目录并运行 Meson: meson .. 使用 Ninja 构建 SSHFS: ninja 将 SSHFS 安装到系统中: sudo ninja install
- 在哪里获取 sshfs?
- 源代码和安装说明在 GitHub 上:https://github.com/libfuse/sshfs
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
15015PythonMIT更新于 2个月前
类似 netcat 的命令行工具和 Go 库,无需 Tailscale 账号即可通过其 WireGuard 数据面在两台机器间建立加密连接。
8760+64 本周402GoBSD-3-Clause维护活跃更新于 前天
用 Go 编写的加密叠加文件系统,通过 FUSE 将密文目录挂载为可读的明文视图。
4751+34 本周308GoMIT维护活跃更新于 10天前
一款 Go 工具,可将多个网盘及 S3、WebDAV 等存储挂载为本地文件夹,并提供与 rclone 兼容的端到端加密。
176+8 本周9GoMIT更新于 3天前
一款桌面端连接中心,在本地统一访问 SSH 主机、容器、虚拟机、Kubernetes 集群和云服务器。
1.5万+3 本周573JavaApache-2.0更新于 6天前