martedì 17 dicembre 2013

Guacamole Appliance 0.8.3: plug and play HTML5 remote desktop gateway virtual appliance (KVM, VirtualBox or vmware)

Guacamole is an HTML5 remote desktop client/gateway that allows you to access your RDP/VNC/SSH servers from any modern browser (you don't need any remote desktop client, vnc, vpn software installed on the client).
Check it out on official page:

This appliance is based on ubuntu 12.04 server 64 bit and uses the "virtual" kernel (optimized for virtual guests) it comes in RAW format and is 7zip compressed (10 Gb uncompressed size).
You can run it in KVM or import into Virtualbox, or convert it in vmdk and run it in some vmware or whatever... no guest tools installed so you may take care to install the proper ones depending on the virtualization platform you'll use (this is completely optional).

Get it!

Download the appliance:

 Guacamole Appliance 0.8.3 - Download
size:  968 MB
md5: 10d6ab2b3475dbe74b26eeac3db07095

unpack it using 7zip (is at highest compression level so it may take a while):
7za e guacamole-appliance-

Convert it! (if needed)

If you don't use KVM you may have to convert the RAW image to another format (you have to have VirtualBox to do so):
Converting it in VDI (VirtualBox format):
VBoxManage convertfromraw guacamole-appliance.img guacamole-appliance.vdi  --format VDI
Converting it in VMDK (vmware format):
VBoxManage convertfromraw guacamole-appliance.img guacamole-appliance.vmdk  --format VMDK
If you want to convert it into a compressed QCOW2 (to save space on your KVM host, as this not supposed to be an heavy duty database machine you can opt for compressed QCOW2 without performance impact) you can do the following:
qemu-img convert -c -f raw -O qcow2  guacamole-appliance.img guacamole-appliance.qcow2

Run it!

Import it in your virtualization platform and run it (as linux 64 bit guest)!
Log in to your virtual appliance with the default user (that is a sudoer, of course)
user: guacadmin
pass: guacadmin

Secure it!

change login password:
change mysql root password:
mysqladmin -u root -p'guacadmin' password 'yournewpassword'
change guacamole's mysql password:
mysql -u root -p
then in the mysql shell:
SET PASSWORD FOR 'guacamole'@'localhost' = PASSWORD('yournewguacamoleuserpass');
then adjust the guacamole configuration file
sudo nano /etc/guacamole/
and change the last line updating the password:
mysql-password: yournewguacamoleuserpass
restart tomcat6 service to apply the password change for guacamole server:
sudo service tomcat6 restart

Find where to connect!

check your IP (DHCP enabled by default):
ip a
If you want you can set a static ip:
TIP: Maybe you want to do a nice port forward on your router: point TCP port 8080 to your guacamole-appliance to access from outside your network (this comes handy if you have a static ip or dynamic dns setup!)

Use it!

open a browser and go to: http://guacamole-appliance-IP:8080/guacamole
login with default credentials
user: guacadmin
pass: guacadmin
click "Manage" button on top right, click on guacadmin user and change the password.

Enjoy your shiny HTML5 remote desktop gateway!

how to use Guacamole: