Lanzar y parar máquinas virtuales Virtualbox sin X y desde consola

Post rápido autochuletero.

Una cosa interesante de tener un server en casa, además de tenerlo de NAS, streaming, descargas, y mil chorradas más, es que además se puede usar de servidor de máquinas virtuales. En mi caso, yo tiro mucho de ellas para trastear con labs, practicar pentesting, y demás tonterías. El problema es que el portátil no va sobrado de RAM, y cuando lanzas un par de VMs empieza a ir a pedales, y no es plan de trabajar así.

Así que vamos a darle un poco más de trabajo al sufrido server. Como no me apetece meterme en fregados con VMware, he decidido instalar Virtualbox. La idea inicial era conectarme por ssh al servidor con la opción -X, es decir, X11 Forwarding, para así gestionar las máquinas de forma usual. Pero tener que abrir la aplicación y que se quede la ventana de la máquina ahí siempre presente, no me interesa, ya que todas las pruebas se acaban haciendo de forma remota, web, ssh etc. Así que he rascado un poco de google y he visto que se puede lanzar máquinas, sin tener que lanzar ninguna ventana, y desde consola. He aquí los pasos:

Requisitos: una máquina virtual ya configurada previamente. Como he explicado antes:

local\$ ssh -X servidor
servidor\$ virtualbox &

Y ahora es cuando empieza el verdadero kung-fu:

Lanzar una máquina virtual:

servidor$ nohup VBoxHeadless --startvm "nombre_maquina" &

Parar una máquina virtual:

servidor$ VBoxManage controlvm "nombre_maquina" acpipowerbutton

Realmente simple, no? ;) Para subir nota, y hacerlo más fácil, el próximo paso será hacerme un script en la máquina local para que lance el comando al servidor, autenticándose por clave pública. También he visto en este post un sencillo script para lanzar máquinas automáticamente al arrancar el servidor. Puede ser útil en algunos caso, pero en el mío no me interesa, no quisiera tener lanzado un laboratorio con servicios vulnerables permanentemente ;)

Espero que os haya sido útil o/

social