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 .
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 thesshfs
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