SSHFS

Most developers often need to perform some work on remote systems which are accessible via SSH. For performing minor changes it is fine to SSH into the system and edit the files directly, but for more complex changes that involve a larger set of files the comfort of an IDE would be nice to have. For such situations the SSHFS filesystem client comes to rescue.

Using an SSHFS client we can mount a remote system as a local drive/folder. This allows us to perform any operation on mounted files with the tools we are used to. For example, we can open a remote project in our favorite IDE or process the remote data with local specific tools.

The only server requirement for getting SSHFS to work is to have SSH enabled. The clients usually support both password and private key logins.

The process of installing and using the SSHFS client on different Linux flavors is outlined here in great detail, with examples.

For Windows, the win-sshfs client can be used. The original project was hosted on Google Code but several forks have been created from it. A very detailed post outlines the installation and usage of win-sshfs on Windows 10 and recommends the usage of the dimov-cz fork. However, the latest version of that fork did not work with the .Net version on my work Windows 7 machine and as I didn’t want to upgrade it I reverted to the original win-sshfs, version 0.0.1.5, which can be downloaded from the Google Code archive. This works just fine for me.

Note that all versions of win-sshfs require that Dokan is installed, which is a user mode file system on top of which win-sshfs was developed.

Once the win-sshfs client is installed, configuring and mounting a remote system is straightforward.