sshfs

Setting up sshfs on OS X (Mac) systems

Installation requires administrative privileges.

Prior to installing, you should make sure that password-less-ssh is configured correctly between the local system and the remote system.

  1. Download OSXFuse (dmg) (pkg) from http://osxfuse.github.io
  2. Open OSXFuse dmg , run installer
  3. Download SSHFS (pkg) from from http://osxfuse.github.io
  4. Run SSHFS installer pkg
  5. Create a folder to access the remote filesystems (aka a mount point): mkdir /sshfs/

Mounting remote filesystems with sshfs

sshfs username@remotesystem:/full/path/to/directory /mount/point

For example, sshfs meyer@schl15:/nfs/userdocs/ps/meyer /sshfs would use schl15 as a host to access the directory /nfs/userdocs/ps/meyer (in other words, that user's NFS home directory).

On Linux, if you don't have root or sudo access, you can mount sshfs via a directory in your home directory. Just remember to specify the PATH to the directory. You will need the fuse-sshfs package installed.

OS X (Mac) helpful hints

An example of mounting from OSX on your local system is as follows - sudo mkdir -p /sshfs/userdocs sudo chown -R $USER /sshfs /usr/local/bin/sshfs oconnor@xtal200.harvard.edu:/nfs/userdocs /sshfs/userdocs -o volname=userdocs,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,idmap=user,auto_xattr,dev,suid,defer_permissions,noappledouble,noapplexattr,IdentityFile=$HOME/.ssh/sshfs-id_rsa

Basically, your local user needs to own the destination $PATH. We mount one complete filesystem from the remote site(avoids local Apple Finder issues). We give the volume a name (shows mount point on your desktop), add some additional options for server connections, etc. If you are using an password-less-ssh you would add it's path to the IdentityFile paramater.

Unmounting remote filesystems

On occasion the mount may become stuck or unresponsive you can force unmount via - diskutil umount force /sshfs/userdocs

Using helper script

There is a 'helper' script available that can be used with sshfs_nfs.app for mac to automount at login. The app is simply a wrapper for sshfs-helper.sh and assumes the script exists in /Users/Shared/

If the mounts become stuck just rerun to reattach shares.

scp $USER@xtal200.harvard.edu:/net/cronus/cmcd1/arc/shared/sshfs-helper.sh .

or copy the whole set -

rsync -rlptD $USER@xtal200.harvard.edu:/net/cronus/cmcd1/arc/shared/sshfs* /Users/Shared/

First run use sudo to create /nfs mount points.

sudo sshfs-helper.sh

The script will create a file in your home folder called .sshfs-mounts

You can add or change any number of mounts that sshfs-helper.sh -

To open - open .sshfs_mounts then edit in textedit.app.

An example - #USER@HOST REMOTE_FOLDER LOCAL_FOLDER | empty local folder must exist oconnor@sshfs.sbgrid.org /nfs/userdocs /nfs/userdocs jo232@transfer.o2.hms.harvard.edu /home/myfolder /nfs/o2home

For additional folders you must create the destination folder like - mkdir /nfs/o2home

After it is working you can add a shortcut into your dock by navigating to /Users/Shared/ on your Mac open /Users/Shared and then dragging the sshfs_nfs.app into your dock. If you need to reconnect to the shares just press the app and it will connect or reconnect.