Having access to your home machine(s) with Guacamole (html5 graphical session) and ShellInABox (terminal session)

Have you ever ask, when you are at your customer’s site how you can access to your home machine(s) from your customer’s LAN ?

I have tested many solutions:
Oracle Secure Global Desktop : http://www.oracle.com/us/technologies/virtualization/061996.html (with proxy traversal activated)
LogMeIn: https://secure.logmein.com/
Radmin: http://www.radmin.com/
But none of them convince me for two main reason: it is not free, and the customer’s network have an enterprise proxy/firewall which block the connection to my home machine.

Here is how Guacamole (and ShellInABox) come to the rescue: http://guac-dev.org/and http://code.google.com/p/shellinabox/

Guacamole description:

Guacamole is an HTML5 remote desktop gateway.

Guacamole provides access to desktop environments using remote desktop protocols like VNC and RDP. A centralized server acts as a tunnel and proxy, allowing access to multiple desktops through a web browser.

No browser plugins are needed, and no client software needs to be installed. The client requires nothing more than a web browser supporting HTML5 and AJAX.

The latest release of Guacamole is version 0.8.3.

Shell In A Box description:

Shell In A Box implements a web server that can export arbitrary command line tools to a web based terminal emulator. This emulator is accessible to any JavaScript and CSS enabled web browser and does not require any additional browser plugins.

Once you install this two tools on your (Ubuntu) home machine, then you will be able to have access to your home machine(s), simply from a simple navigator.

Executive Summary

Configuration




<user-mapping>

    <!-- Example user configurations are given below. For more information,
         see the user-mapping.xml section of the Guacamole configuration
         documentation: http://guac-dev.org/Configuring%20Guacamole -->

    <!-- Per-user authentication and config information -->
    <authorize username="GUACAMOLE_USER" password="GUACAMOLE_PASSWORD">

        <connection name="HP-HOME">
          <protocol>rdp</protocol>
          <param name="hostname">xxx.xxx.xxx.xxx</param>
          <param name="port">3389</param>
          <param name="disable-audio">true</param>
          <param name="server-layout">fr-fr-azerty</param>
        </connection>

        <connection name="UBUNTU-HOME">
          <protocol>vnc</protocol>
          <param name="hostname">xxx.xxx.xxx.xxx</param>
          <param name="port">5901</param>
          <param name="password">VNCPASS</param>
        </connection>

    </authorize>

</user-mapping>

Usage Screenshots

Here are some screenshots of my installation:

Screenshot Description
guacamole_1 Add details here
guacamole_2 Add details here
guacamole_3 Add details here
guacamole_4 Add details here
Advertisements

About Chenda Mok

19 years of hands on experience in software design and development with emphasis on Enterprise Application Integration (EAI), Services Oriented Architecture (SOA) and Identity Management (IDM) solutions. I’m a software engineer, member of the professional service delivery team working for Salesforce. Prior to this, I worked for Oracle as Solution Architect, through SeeBeyond(06/2005), then SUN’s acquisition (04/2009). After my master’s degree in computer science in 1997; I always delivered consulting on architecture, design, implementation on integration’s field. I’m interested in architecture using EAI/SOA/IDM/BPM/Cloud technologies, software development and Java’s related technologies. I may blog about my work/activities at Salesforce, but I do not speak for my employer, past, present or future.
This entry was posted in DevTools, Guacamole, Ubuntu and tagged , , , , . Bookmark the permalink.