Work on the web pages that reside on your commercial web host like they were on your own desktop.
If you have cursed out an FTP client ( under your breath of course ) at any point in a development cycle, welcome to the club. I develop on an OSX machine and I love Cyberduck – the popular FTP client for the Mac. But wouldn’t it be nice to mount your entire remote website host directory on the desktop with a nice disk icon? Now you can drag and drop files into it without leaving the Finder. You can also edit files remotely without downloading, editing and uploading. This can be a huge improvement in workflow, and you don’t have to keep track of local and remote versions of files and the invariable versioning headaches.
Advantages
- Avoid UNIX: Most hosting plans run on some variant of UNIX/Linux. Stuff that you had to do on the server over SSH using the Terminal can now be done on the desktop. For example, WordPress plugins and themes can be downloaded, unzipped and moved to their proper locations, all from the desktop. You no longer have to execute cryptic commands from the UNIX command line.
- Develop on a thin client: You can develop on a lightweight Netbook with a super fast, but low-capacity solid-state (SSD) drive. You don’t have to worry about the limited disk space because your workspace resides on the remote server.
- Don’t have to worry about backups: Most hosting plans have some sort of incremental backup on the server side. Your workspace will automatically get backed up on the server.
First, a caution – I’m not advocating editing a live website. Although that is certainly possible, it is not recommended practice. However, there are a myriad of little things that can be done quite efficiently if the remote filesystem was mounted on the desktop. Moving, renaming and deleting files is super easy ( these actions can be a real pain to accomplish using an FTP client). For those perfectionists who incessantly tinker with image files, just open the file, make the change and save it. The huge advantage is the seamless access and the improvement in overall workflow.
Disadvantages
- Filesystem response dependent on network speed: This is the big caveat. This method is not suitable for editing 100MB Photoshop files. However, it can be very effective for editing web pages.
System requirements
- You need to have access to a remote server like a commercial web host ( e.g. Dreamhost, Media Temple ).
- SSH ( Secure SHell ) remote login has to be available and setup on the server. You can turn on SSH access on most hosting plans through your web panel. Make sure that you test SSH access before proceeding.
- The method described here works only on Mac OSX Leopard.
Method
You need to install three applications / frameworks:
1. Install MacFuse

MacFuse is an OSX implementation of the Filesystem in Userspace (FUSE) framework. Fuse provides an API to write a virtual file system. Virtual in the sense that a developer can write a file-system like front-end to any structured information source. Even though the information is accessed and manipulated as files, the actual data doesn’t need to be files on a disk. For example, there is the Picasa image file system (PicasawebFS), a virtual filesystem that allows you to mount all your Picasa images like a disk on the desktop. Then theres is the RSS file system (RSSFS) that allows you to mount an RSS feed as a filesystem and access each entry as an individual file. We will use SSHFS, the Secure SHell FileSystem, that allows you to mount a remote computer directory though a secure shell (SSH) login. If you want additional technical details, watch a screencast by Amit Sigh, the project owner of MacFuse.
Download and install MacFuse from google code:
http://code.google.com/p/macfuse/
MacFuse comes with a nice preference pane to check for updates. The version was 2.0.3 as of this writing.
2. Install Macfusion
![]()
Macfusion is an open source SSHFS mounting application for OSX Leopard. There are a couple of apps out there that do this ( sshfs 1.0, sshfs for Mac OS X ), but Macfusion is by far the most mature.
Download and install from:
Add an SSHFS file system
To add an SSHFS file system click on the plus icon at the bottom of the main window and choose SSHFS.

Adding an SSHFS filesystem
Set SSHFS mount parameters
Under the SSH tab:
- Host: The hostname of the server that you SSH to. This is usually the domain name of you website ( e.g. ‘yourdomain.com’ ).
- User Name: Your SSH username.
- Password: Your SSH password.
- Path: can be left blank.
Under the SSH Advanced tab:
- Port: The default SSH port is 22 unless your server uses a different one ( just try 22 ).
- Follow Symbolic Links: Leave this checked.
Under the Macfusion tab:
- Mount Point and Volume Name: Can be left blank.
- Ignore Apple Double Files: You must uncheck this if you plan to open/edit/save files on the mounted volume. For example, if you want to edit an image file using Photoshop, this setting has to be unchecked. However, this powerful feature comes with a downside. Leaving this unchecked will cause OSX to place .DS_Store and ._ * ( Appledouble ) files on the server. OSX utilizes these hidden files for enhanced filesystem features and extended file attributes in non OSX native filesystems. For example, a Photoshop file can have icon, thumbnail, and version cue information saved in a separate Appledouble file. These files are invisible in OSX and other filesystems as they start with a dot. Leave this checked if you are just going to copy/move/delete files ( increases speed ). You can leave this checked if editing text files as most apps don’t save additional file attributes with text files. However, this depends on the application you use, so do some testing first.
- Enable Negative VNode Cache: This is an optimization to increase speed and should generally be left checked unless files can appear on the mounted volume from the server side. For example, if multiple users are using your mounted disk space leave this unchecked.
You will now have an SSHFS filesystem ready to mount on your desktop.
Mount the remote filesystem
Click on the mount button and if the SSH settings are correct, you should have a green disk icon mounted on the desktop.

Macfusion main window after mounting a remote filesystem
You can now access your remote files like they were on an external disk attached to your computer. You can copy, move, rename and delete files at ease. Remember that if you want to edit files on the remotely mounted disk, the Ignore Apple Double Files checkbox should be unchecked. You can easily edit the SSHFS mount settings by unmounting the disk and clicking on the Edit button.
You might have noticed that we completed only two of the three steps but you can already mount your remote filesystem. This is because Macfusion already has SSHFS pre-installed within its application package. However, I found the mounted filesystem response to be a little sluggish and wondered if the version of SSHFS that came pre-installed with Macfusion was outdated.
3. Update SSHFS
Let’s examine the pre-installed version of SSHFS that comes with Macfusion. RIGHT-CLICK ( or CONTROL-CLICK) on the Macfusion app in the Applications folder. You will be presented with a contextual menu. Choose the “Show Package Contents” menu option. You will then be presented with a folder containing the application folder hierarchy. Drill down until you see an application called sshfs-static.
This is the copy of sshfs that Macfusion uses to do its magic. To check its version, I opened up the Terminal app, changed directory to the parent folder off sshfs-static and typed in ./sshfs-static -V . You don’t have to do this by-the-way, just skip to the Download and Install SSHFS section.
% cd /Applications/Macfusion.app/Contents/PlugIns/sshfs.mfplugin/Contents/Resources/ % ls -la total 5736 drwxr-xr-x 9 chandima staff 306 Aug 4 2008 . drwxr-xr-x 5 chandima staff 170 Aug 4 2008 .. -rwxr-xr-x 1 chandima staff 46928 Aug 4 2008 new_sshfs_askpass -rwxr-xr-x 1 chandima staff 2756952 Aug 4 2008 sshfs-static -rw-r--r-- 1 chandima staff 13259 Aug 4 2008 sshfs.png -rw-r--r-- 1 chandima staff 6796 Aug 4 2008 sshfsAdvanced.nib -rw-r--r-- 1 chandima staff 7609 Aug 4 2008 sshfsConfiguration.nib -rw-r--r-- 1 chandima staff 61418 Aug 4 2008 sshfs_icon.icns -rwxr-xr-x 1 chandima staff 29280 Aug 4 2008 sshnodelay.so % ./sshfs-static -V SSHFS version 1.8 (MacFUSE SSHFS 1.3.0) MacFUSE library version: FUSE 2.7.3 / MacFUSE 2.0.3 no mount point
The pre-installed version was 1.8. I wondered if I’d get a speed increase if SSHFS was updated to the latest version which was 2.2 (as of this writing).
Download SSHFS from:
http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS (make sure you download sshfs-static-leopard.gz ).
After you uncompress the gzip archive, you will end up with a folder called sshfs-binaries. In there, you will see an app called sshfs-static-leopard.
Rename the sshfs executable:
Rename sshfs-static-leopard app to sshfs-static to match the filename that Macfusion expects.
Replace the old version of sshfs with the new version:
Drag and drop the downloaded and renamed sshfs-static executable into the Resources folder to replace the older version within the Macfusion package hierarchy.
You can check the version again to make sure that the new version is recognized.
% ./sshfs-static -V SHFS version 2.2 (MacFUSE SSHFS 2.2.0) MacFUSE library version: FUSE 2.7.3 / MacFUSE 2.0.3 no mount point
I unmounted and remounted the filesystem and the speed increase was quite significant. I highly recommend that you do this third step.
What to do about those pesky .DS_Store and Appledouble files?
There is a solution to prevent .DS_Store file creation over network connections.
The real power of this workflow is being able to edit files remotely without first copying them to the local computer. The Ignore Apple Double Files checkbox has to be left unchecked in order to edit images using Photoshop etc. However, as mentioned previously, this will cause OSX to spew ._ * files on the server. These files, although invisible on the filesystem UI are still accessible through the web. As far as I know, the Appledouble files don’t contain any sensitive information like passwords and such and can be regarded as relatively harmless ( let me know if this is an incorrect assumption ).
Next steps
Try it out and post a comment with your thoughts. I am interested in seeing if it does improve the workflow for web developers. For those of you who use a versioning system like subversion, I’m interested in getting some feedback on how this can be integrated, or if it is overkill.
I’ve only tested this with my commercial host ( Dreamhost.com ) that runs Linux, although it should work with most hosts that run some variant of UNIX / Linux. There could be permission issues depending on whether the remote filesystem allows extended file attributes. I’ll try and help out if you do have problems.
If anyone knows of a tutorial / resources on mounting remote filesystems on Windows please post a comment and I’ll integrate it into the post.




Dear Chandima,
Thank you for your very clear explanation of something that is not completely trivial. It appears that I got everything working without any hitches. Only one comment : you say that our remote file system is now “mounted”. But where? Somehow, a finder window with remote file system appeared, but now I can’t seem to remember how I did that. What is the mount point?
Thank you.
Hi Donna, I’m glad that the tutorial helped.
If the disk icon on the macfusion window turns green there should be a disk icon just like that on your desktop. If your desktop is strewn with documents and folders like mine it will be a little difficult to locate. I’ve notices that sometimes, icons get piled on top of each other on the desktop as well.
You can also open the deskop in a Finder window and look at it in list view.
Hi Chandima- I found these instructions to be really useful as well. However, I had exactly the same problem as Donna — I see the volume mounted when I go to the Finder “Go” menu and choose “Computer”, but I do not see it on my desktop. My desktop only has a few files on it — it is not there. I tried a few times to mount it on the desktop by changing the mountpoint to /Users/nick/Desktop/ and that attempted to create an alias on the desktop, but it never quite worked. (perhaps because I had tried to mount it a few times by then and I think that repetition was making MacFusion confused.)
Many many thanks for some very useful instructions.
Nick, it is rather odd that the volume shows up in the “Go” menu and not on the desktop. I haven’t come across this behavior and don’t have a clue as to the cause. I’ll post a follow-up comment if something come up. I’m glad you appreciate the verbosity of my instructions – a habit learned from years of teaching online
Chandima,
Any idea if MacFuse/MacFusion are working with Snow Leopard?
Great tutorial by the way. I will link to it on some of our pages.
Hello David, I know that MacFuse supports Snow Leopard. See:
http://code.google.com/p/macfuse/wiki/CHANGELOG
I didn’t find a precompiled SSHFS binary for Snow Leopord so I cannot be sure if the existing source will work without modification. I think you will have to swop out the sshfs binary that comes with MacFusion with a Leopard compatible one for it to work.
Thanks for this. I’ve been trying to get this working for a while but never quite managed. Now all is well
Hi Nathaniel, glad it worked for you and thanks for the note.
Hi Chandima, thanks a bunch for your detailed explanation, it’s already very workable and a significant improvement of my work flow. Hate to be a bore, but I had the same problem: no icon on my desktop. I did find it in finder (just move up with CMD+) but it’s still weird there’s no icon on my desktop. Anyway, next thing for me would be to automount the FS, but only if there’s a sufficient internet connection. This looks promising: http://sedding.net/wp/?p=12
Anyway, thanks again, I wouldn’t know where I’d be without kind folks like yourself!
Just a short followup on my previous post. I found out why the icon didn’t show up on my desktop. It boils down to a finder preference option:
Finder->Preferences->General->Connected servers should be checked.
Now it’s working!
See Q 4.2. on this page:
http://code.google.com/p/macfuse/wiki/FAQ
Yea! looks like @Appel found the solution to the missing finder icon problem – had me completely stumped!!! Thanks for the kind words and your contribution is greatly appreciated.
The sshfs binary in MacFusion seemed to be OK. The problem is that it tries to load the sshnodelay.so library, which seems to be incompatible with SL. If you rename/delete that library, then it seemed to work fine.
snow leopard and macfusion: larry’s comment made the day for me! if you run into the sshnodelay.so prolem, just rename/delete the library. larry, THANK YOU!
> I opened up the Terminal app, changed directory to the parent folder off sshfs-static
Let Leopard do its magic. Just drag the sshfs-static file into a terminal window, type “-V” (without quotes) and hit enter. In the same vein, you can drag folders into terminal as well…..
Enjoy! Also, THANKS FOR THIS ARTICLE! ^_^
MacFUSE 2.1.7 for 64 bit Snow Leopard…
Compile it yourself …
http://github.com/wereHamster/macfuse
Or download and install precompiled binary…
http://groups.google.com/group/macfuse/msg/f7de55623e8b8f57?
Just cant get it up and running. Snow leopard, fresh install, tried 2.1.5 tried 2.1.7, tried macfustion, tried without macfusion. Wished it was a bit more userfriendly and informative in the logs.
@Fabbe what is the error in the logs? If it is a sshnodelay.so error, remove it from the MacFusion install.
If you’re trying to follow these instructions on Snow Leopard and are having problems, follow this link, it worked for me:
http://rackerhacker.com/2009/08/28/fix-macfusion-on-snow-leopard/
A tip for people with this same issue – step three in this guide broke my macfusion(’s ability to mount to ssh) until I changed the permissions on sshfs-static to 777.
Thanks Chandima to posting this useful guide!
And especially thanks for posting how to check the version # of sshfs because that’s what gave me the tip on how to fix. Previously I had no permission to check the new version.
I now have sshfs v 2.2 working.
I just downloaded the newest version of MacFusion today, in June 2010. I don’t understand why they don’t just update the version of ssh within the app. Is MacFusion still in development?
Thanks from me too! To Chandima for posting this useful guide.
Yes, once I made the replacement sshfs-static executable and removed / renamed sshnodelay.so it all worked great for me on Snow Leopard without the need to compile or anything too messy!
Maybe it’s worth pointing out that if you want to see directories other than your home folder – /var/www say – then do fill in the SSH >> Path text field, otherwise you won’t be able to navigate to /var/www from your home directory using a Mac OS X Finder window.
Probably already obvious to all!