Parallels Share Ubuntu Filesystem with Mac Lion

I would like the ability to write the code on my host computer (Mac) and run them on my virtual machine (ubuntu 11).  Parallels does not come with a built in way to share ubuntu folders with your Mac like it does for Windows.  Using sshfs and openssh-server you can still accomplish it.

First make sure you can log into your virtual machine using ssh and your public/private keys.

1) Install openssh-server on the ubuntu VM

sudo apt-get install openssh-server

2) Make sure you can ssh into your vm

ssh user@address

3) Generate ssh key pair.  I assume you use the default rsa keys.  If you already have keys, you can skip this step.

ssh-keygen

3) Add your ~/.ssh/id_rsa.pub to your authorized_keys

scp ~/.ssh/id_rsa.pub jason@10.211.55.5:id_rsa.pub
ssh jason@10.211.55.5
mkdir ~/.ssh
chmod 700 ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

4) You should now be able to login to your VM without supplying your password

ssh jason@10.211.55.5

5) Install sshfs on your mac.  I like to use Homebrew to install my open source software.  You need to install fuse and sshfs.  If you’ve previously installed MacFus, or OS Fuse, you need to uninstall it for this doc.  You can probably get it to work, but this guide won’t tell you how!

brew install fuse4x sshfs

6) Now you should be able to connect to the filesystem of ubuntu.  This creates “/Volume/ubuntu” folder that you can open from finder, or terminal, or textmate!

# mount
mkdir /Volumes/ubuntu
sshfs jason@10.211.55.5:/home/jason/ /Volumes/ubuntu -oauto_cache,reconnect,defer_permissions,negative_vncache,volname=somename

# unmount
umount /Volumes/linux

 

Sometimes your VM will change it’s ip address.  If it does, you may need to clear out your ~/.ssh/known_hosts file.  It’s ok to just wipe everything out because it’s simply a cache of the keys of the servers you’ve accessed.

Thanks to Philipp Klaus for the sshfs info

Thanks to ubuntu docs for the openssh-server info.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>