SSHFS allows you to mount a remote filesystem using SFTP. Most SSH servers support and enable this SFTP access by default, so SSHFS is very simple to use - there's nothing to do on the server-side.
How to use
Once sshfs is installed (see next section) running it is very simple:
sshfs [user@]hostname:[directory] mountpoint
It is recommended to run SSHFS as regular user (not as root). For this to work the mountpoint must be owned by the user. If username is omitted SSHFS will use the local username. If the directory is omitted, SSHFS will mount the (remote) home directory. If you need to enter a password sshfs will ask for it (actually it just runs ssh which ask for the password if needed).
Also many ssh options can be specified (see the manual pages for
sftp(1) and ssh_config(5)), including the remote port number
To unmount the filesystem:
fusermount -u mountpoint
On BSD and macOS, to unmount the filesystem:
First, download the latest SSHFS release from https://github.com/libfuse/sshfs/releases. On Linux and BSD, you will also need to install libfuse 3.1.0 or newer. On macOS, you need OSXFUSE instead. Finally, you need the Glib library with development headers (which should be available from your operating system's package manager).
$ mkdir build; cd build $ meson ..
Normally, the default build options will work fine. If you nevertheless want to adjust them, you can do so with the mesonconf command:
$ mesonconf # list options $ mesonconf -D strip=true # set an option
To build, test and install SSHFS, you then use Ninja (running the tests requires the py.test Python module):
$ ninja $ python3 -m pytest test/ # optional, but recommended $ sudo ninja install
If you need help, please ask on the <email@example.com> mailing list (subscribe at https://lists.sourceforge.net/lists/listinfo/fuse-sshfs).
Please report any bugs on the GitHub issue tracker at https://github.com/libfuse/libfuse/issues.
Professional support is offered via Rath Consulting.