Ubuntu SSH Steps

1. Ubuntu needs to run in Virtual Box as a bridged network

2. Make sure you have SSH installed, it will automatically start
sudo apt-get install ssh

3. Use ifconfig to get the virtual machine's IP address

4. Use putty and SSH onto that machine or FileZilla

You can remove SSH by (did not disable)
sudo apt-get remove ssh

Start/Stop with:
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start

VirtualBox: LAMP Server on guest OS and make available to host

So here's my sample setup. I am running a LAMP server on my guest os an image of Ubuntu and for now i am only concerned about accessing the webserver on my host machine and also from other machines on the network (something that you cant do out of the box on VMWare Fusion, though i am sure it can be done on it by one means or the other).

I run the following commands:
# VBoxManage setextradata "YourImageName" "VBoxInternal/Devices/e1000/0/LUN#0/Config/guesthttp/Protocol" TCP
# VBoxManage setextradata "YourImageName" "VBoxInternal/Devices/e1000/0/LUN#0/Config/guesthttp/GuestPort" 80
# VBoxManage setextradata "YourImageName" "VBoxInternal/Devices/e1000/0/LUN#0/Config/guesthttp/HostPort" 8080

The above example assumes a Intel PRO/1000 virtual network card; if you have configured the guest to use the PCNet, replace "e1000" with "pcnet" in the above commands. Similarly, if you want to configure a different interface instance replace the /0/ with the appropriate index. pcnet and e1000 are counted separately in this respect, and counting starts at 0 for both types.

The name guesthttp is an arbitrary one chosen for this particular forwarding configuration. With that configuration in place, all TCP connections to port 8080 on the host will be forwarded to port 80 on the guest. Protocol can be either of TCP or UDP (these are case insensitive). To remove a mapping again, use the same commands, but leaving out the values (in this case TCP, 80 and 8080).

It is not possible to configure incoming NAT connections while the VM is running. However you can change the settings for a VM which is currently saved (or powered off at a snapshot).

VirtualBoxManage Headless Servers

Refer: http://www.virtualbox.org/manual/ch08.html#vboxmanage-list

"C:\Program Files\Oracle\VirtualBox\vboxmanage" list vms
"C:\Program Files\Oracle\VirtualBox\vboxmanage" list runningvms

"C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" --startvm "Ubuntu-13.04"
"C:\Program Files\Oracle\VirtualBox\vboxmanage" controlvm "Ubuntu-13.04" savestate

Ubuntu 14.04

$ /usr/bin/VBoxManage list vms
$ /usr/bin/VBoxManage list runningvms$ /usr/bin/VBoxHeadless -startvm "VBox-Win10"
$ /usr/bin/VBoxManage controlvm "VBox-Win10" savestate

Remote Into a VirtualBox Appliance

The "magic sauce" is to remote into a headless appliance that way your remote session will automatically re-size. If you launch the appliance with VirtualBox locally and then remote into you cannot re-size it.

The alternative is to use VBoxHeadless directly, as follows:
C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe --startvm "Image Name"

Trouble Shooting

Make sure to turn off 3D video acceleration, it was causing a window to appear on my Windows 7 host, and it interfered with the remote connection.

Had trouble connected to my VM on my LAN, there were multiple Firewall rules with Windows 7.  Ended up deleting all of the rules for both Virtual Box and Headless, and when things started again, it allowed access.  That fixed the problem.