I’m used to access distant machine’s file systems via SSH. My favorite environment, KDE, makes things easy thanks to the support of sftp:// URLs via a KIO slave. Mac OS X is not as friendly and don’t have any built-in mechanism of that kind.

To get similar features in Leopard, we have to rely on MacFuse and sshfs . I’ll explain here how I’ve installed these components on Mac OS X Leopard .

MacFUSE_Banner

First, download the latest MacFuse dmg and install it. FYI, the version I’ve got was 2.0.3,2.

Then, download the sshfs executable for Leopard, either the gzipped version or the binary from the SVN as explained in the MacFuse wiki .

From a terminal, rename the binary:

$ sudo mv ./sshfs-static-leopard ./sshfs

Then allow the binary to be executed and place it in the system:

$ sudo chmod +x sshfs
$ sudo install sshfs /usr/local/bin

From now you can test sshfs mounting with the following command:

$ sshfs user@myserver.net:/folder/ /Network/distant-folder -p 22

I personally had a problem here: sshfs complained about a missing library. I fixed this by downloading the required file from the MacFusion project and copying it beside the sshfs binary:

$ sudo wget http://www.macfusionapp.org/trac/export/86/trunk/SSHFS/sshnodelay.so
$ sudo mv ./sshnodelay.so /usr/local/bin/
$ sudo chmod +x /usr/local/bin/sshnodelay.so

If this fail you can also check:

  • that the current user you’re logged with has access to the distant server with the ssh user@myserver.net command;
  • or that the local mount point exists (you can create it with mkdir -p /Network/distant-folder);
  • and finally, you can add the -o debug option to the sshfs command above to get additional clues.

Now we will automate the mounting of sshfs at every start.

At this point I recommend you to register the root user of your Mac OS X system to the distant server:

$ sudo cat ~/.ssh/id_rsa.pub | sudo ssh -p 22 user@myserver.net "cat >> ~/.ssh/authorized_keys"

If doesn’t exists, we have to create the /etc/fstab to edit it:

$ sudo touch /etc/fstab
$ sudo vi /etc/fstab

And add the following directives:

dummy:user@myserver.net:/folder/ /Network/distant-folder sshfs allow_other,auto_cache,reconnect,port=22,follow_symlinks,volname="Distant folder" 0 0

As you can see I’ve added lots of options to accommodate my uses. You can get more informations about sshfs options through traditional help pages:

$ sshfs --help

Mac OS X’s automount daemon will look for a script called mount_sshfs at start. Actually it doesn’t exists on your system, but sshfs command line is compatible with what automount expect. So creating a symbolic link will do the trick:

$ sudo ln -s /usr/local/bin/sshfs /sbin/mount_sshfs

Finally, we can tell automount to acknowledge all our modifications:

$ sudo automount -vc

Related content