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 [email protected]:/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 https://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 [email protected] 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 [email protected] "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:[email protected]:/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 information 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