November 06, 2009
sshfs is a secure file system client that allows you to access and manipulate files on remote systems where that would normally be available via SFTP. sshfs is dependent upon FUSE or Filesystem in Userspace. FUSE is available for Linux, FreeBSD, NetBSD (as PUFFS), OpenSolaris, and Mac OS X (as MacFUSE). It was officially merged into the mainstream Linux kernel tree in kernel version 2.6.14. h1.
You will need to install three applications / frameworks:
MacFuse is an OS X implementation of the Filesystem in Userspace (FUSE) framework. FUSE provides an API to write a virtual file system. Variations of the virtual file system include:
At present the preference pane that MacFuse installs is 32-bit, so your System Preferences will restart in 32-bit mode when you select the MacFuse pane. The only option it exposes is a check for updates.
Macfusion is an open source SSHFS mounting application for Mac OS X.
Download and install from: http://www.macfusionapp.org
Once Macfusion is installed, start the application and click on the plus icon in the bottom left of the main window and choose SSHFS.
Under the SSH tab:
Under the SSH Advanced tab:
Under the Macfusion tab:
You are now ready to mount the SSHFS on your desktop. Click on the mount button and if the SSH settings are correct you should have a green disk icon mounted on the desktop. (Note, you may need to visit the Finder preferences to make sure that you are allowing Connected Servers to be displayed.) You should now be able to access the remote files as if they were on an external disk attached to your system. You can copy, move, rename, and delete files. Remember, that in order to edit files you must uncheck the Ignore Apple Double Files option. This can only be done with the remote filesystem is unmounted.
If the mount operation fails, click the gear icon in the Macfusion main window and select the Log option (or use Cmd-L with Macfusion as the active application). If you see the following error message:
dyld: could not load inserted library: /Applications/Macfusion.app/Contents/Plugins/sshfs.mfplugin/Contents/Resources/sshnodelay.so
Then you need to rename or remove that library. Navigate to the /Applications/Macfusion.app/Contents/Plugins/sshfs.mfplugin/Contents/Resources directory and rename (e.g., sshnodelay.orig) or remove the sshnodelay.so file.
Now that you have a working connection it is time to verify the version of sshfs included with Macfusion, and update it if necessary. Using the Terminal, navigate to:
$ cd /Applications/Macfusion/Contents/Plugins/sshfs.mfplugin/Contents/Resources
The copy of sshfs that Macfusion uses is located in this directory. Run the command:
$ ./sshfs-static -V
to verify the installed version. As of this writing the current available version of sshfs was 2.2, if the displayed version is anything less than that, you will see a performance increase by updating.
Download SSHFS from: http://code.google.com/p/macfuse/wiki/MACFUSEFSSSHFS
For Mac OS X 10.6 you want to get the sshfs-static-leopard.gz file. Uncompress the gzip archive. Inside the resulting sshfs-binaries folder will be an application called sshfs-static-leopard. In Terminal rename the original sshfs-static application (assuming you are still in the /Applications/Macfusion/Contents/Plugins/sshfs.mfplugin/Contents/Resources directory):
$ mv sshfs-static sshfs-static-orig
And then copy the new version into place:
$ mv ~/Downloads/sshfs-binaries/sshfs-static-leopard sshfs-static
This should result in a significant performance increase.
You can prevent .DS_Store files from being created on the mounted filesystem by executing the following command in Terminal:
$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true
This will affect interactions with SMB/CIFS, AFP, NFS, and WebDav servers. You will need to restart the computer or log out and back in to your user account for this change to take effect.