sshfs
A network filesystem client to connect to SSH servers
A command-line tool that mounts a remote server's file system as a local folder on your computer over SSH, so you can browse and edit remote files with any local app without manually copying files back and forth.
SSHFS is a tool that lets you access files on a remote computer as if they were stored on your own machine. Once set up, you can browse, open, and save files on a remote server the same way you would with a local folder, without manually copying files back and forth. The connection runs over SSH, which is the same secure protocol that developers use to log into servers via the command line.
The setup requires almost no configuration on the server side. Because most SSH servers already support file transfers through a protocol called SFTP, SSHFS works with existing servers without any additional software installed on them. To connect, you run a single command that specifies the remote address and a local folder where the remote files will appear. To disconnect, you run an unmount command.
SSHFS is available in the package managers of all major Linux distributions, and it has been used in production for many years. The README notes honestly that the project currently has no active regular contributors. The maintainer accepts community-submitted fixes and makes releases, but is not adding new features or addressing most bug reports. This is important context for anyone evaluating whether to rely on it.
The tool is written in C and depends on a library called libfuse, which is what allows user-space programs to create filesystems on Linux and similar systems. There is also a direct-connection mode for cases where you want to mount files inside a virtual machine without going through full SSH encryption, though the README warns this should only be used on trusted networks.
For non-technical users, SSHFS is most useful in contexts where a developer or system administrator wants to edit files on a remote server using a local text editor or file manager, rather than working entirely through a command-line terminal. It is a mature, well-understood tool with a narrow, specific purpose.
Where it fits
- Edit files on a remote Linux server using your local code editor instead of a terminal-based text editor.
- Mount a VPS or home server directory as a local folder to easily drag-and-drop or sync files between machines.
- Access remote project files from local build or design tools without setting up a full sync workflow.