A user-space FUSE file system that mounts remote hosts over SFTP, with local caching and asynchronous write-back.
libfuse/sshfs
A FUSE-based client that mounts a remote filesystem over SFTP so you can browse and edit files on an SSH server like a local folder.
- Stars
- 7,744
- Forks
- 553
- Open issues
- 58
- Last commit
- 7 days ago
What is it?
SSHFS mounts a remote filesystem to a local mountpoint using SFTP. Most SSH servers enable SFTP by default, so no server-side setup is needed. Running sshfs with a user, host and directory path attaches the remote directory, and the home directory is used if no path is given. Standard SSH options such as a custom port can be passed through.
The project also offers a direct mode that connects straight to an sftp-server process without SSH encryption, intended for localhost or trusted networks, and a vsock option for reaching sockets inside virtual machines. Installation requires libfuse 3.1 or newer and GLib, and the project is built with Meson and Ninja. Unmounting uses fusermount on Linux and umount on BSD and macOS.
Key features
- 01Mounts remote directories over SFTP with no server-side setup
- 02Passes SSH options such as custom ports through the command line
- 03Supports direct connections to sftp-server that bypass SSH
- 04Supports vsock connections to virtual machines
- 05Builds with Meson and Ninja and includes a pytest suite
Use cases
- Editing files on a remote server with a local editor or IDE
- Accessing files on a VM from the host through vsock
- Mounting a remote home directory for everyday file access
Quick start
- 1
Download the latest SSHFS release and install libfuse 3.1.0+ and GLib development headers
- 2
Create a build directory, enter it, and run Meson
meson .. - 3
Build SSHFS with Ninja
ninja - 4
Install SSHFS system-wide
sudo ninja install
Things to know
- SSHFS is GPL-2.0 licensed, a copyleft license.
- The sole maintainer has no capacity for development beyond high-impact issues, and most bug reports may go unanswered.
- The directport option connects without encryption and should only be used on localhost or trusted networks.
Topics
FAQ
- What is sshfs?
- A FUSE-based client that mounts a remote filesystem over SFTP so you can browse and edit files on an SSH server like a local folder. SSHFS mounts a remote filesystem to a local mountpoint using SFTP. Most SSH servers enable SFTP by default, so no server-side setup is needed. Running sshfs with a user, host and directory path attaches the remote directory, and the home directory is used if no path is given. Standard SSH options such as a custom port can be passed through.
- Is sshfs free to use? What license does it have?
- sshfs is open source under the GPL-2.0 license. Check the license terms before using it in commercial products.
- Is sshfs still maintained?
- Actively maintained. The last commit to sshfs was on Oct 31, 2026.
- What can I use sshfs for?
- Editing files on a remote server with a local editor or IDE Accessing files on a VM from the host through vsock Mounting a remote home directory for everyday file access
- How do I install sshfs?
- Download the latest SSHFS release and install libfuse 3.1.0+ and GLib development headers Create a build directory, enter it, and run Meson: meson .. Build SSHFS with Ninja: ninja Install SSHFS system-wide: sudo ninja install
- Where can I get sshfs?
- The source code and installation instructions are on GitHub: https://github.com/libfuse/sshfs
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A netcat-like CLI and Go library that connects two machines over Tailscale's WireGuard data plane without needing a Tailscale account or control plane.
An encrypted overlay filesystem in Go that mounts a folder of ciphertext as a readable plaintext view via FUSE.
A Go tool that mounts multiple cloud drives and S3/WebDAV-style storage as one local folder, with rclone-compatible end-to-end encryption.
Cross-platform terminal and remote access client supporting SSH, SFTP, FTP, Telnet, serial port, RDP, VNC and Spice.
A desktop connection hub that gives you one place to reach SSH hosts, containers, VMs, Kubernetes clusters and cloud servers from your local machine.