I'd definitely recommend using a virtual machine; even if I were running Linux I'd be using one. You can install your SSH key on the VM and have an iTerm2[1] profile which connects directly to it. I also use SSHFS[2] for shared directories so that I can edit my code in MacVim and TextMate, but run code and tests on the VM (note: I run headless VMs, attempting to run two GUIs in parallel on a MacBook Air wouldn't be pretty).
[1]: http://www.iterm2.com/ [2]: http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS