You don't need any special tools, or a different VM system to do this. ssh already does what you want:
$ ssh vmName "echo hello" Substitute the VM's host name or IP for vmName. You can add
If you use a host name, it will have to be resolvable somehow. If the guest has a static IP it's easiest to add an entry for it in /etc/hosts if the. If your guest has a static IPuses DHCP, or use <a href=http://thekelleys.org.uk/dnsmasq/doc.html">dnsmasqI recommend switching to dnsmasq for the DHCP server if you aren't running that already, because it also acts as a DNS server and automatically builds DNS entries for exampleevery DHCP lease.
You will also want to set up key-based SSH authentication so you don't need to type the password every time.
Now, that particular command won't do much that's useful. You'll just see hello echoed to the host's terminal, just as if you'd typed echo hello locally. To see what's going on, say something like this instead:
$ ssh vmName 'echo $HOSTNAME' (Note the use of single quotes to prevent the local shell from interpolating HOSTNAME before running the command.)
ssh is very powerful. You can do all kinds of tricks this way, such as piping data from a local process to the remote machine through the SSH tunnel and redirecting the remote program's output to the local machine.