Usage Instructions

Introduction

Apache Guacamole is a clientless remote desktop gateway that supports standard protocols like VNC, RDP, and SSH. Because it is clientless, no plugins or client software are required — access is via a web browser. Guacamole enables users to access their desktops securely from anywhere with just a browser and internet connection. It is designed for ease of deployment, scalability, and secure remote access.

Apache Guacamole is distributed under the Apache License, Version 2.0, a permissive open-source license that allows broad use including commercial applications, fostering flexibility and collaboration.

Getting started

  1. Launch the product via 1-Click
  2. Use a web browser to access the console application at http://[ec2-ip]:8080/guacamole where [ec2-ip] is the public ip provided by Amazon for your instance.
  3. Log in using the following credentials:
    • Username: guacadmin
    • Password: The instance_id of the EC2 instance

You can also access your instance EC2 via SSH using the username and your Amazon private key.

The username depends on the operative system:

  • Amazon Linux: 'ec2-user'
  • Ubuntu: 'ubuntu'
  • Rocky Linux: 'rocky'
  • AlmaLinux: 'ec2-user'
  • CentOS Stream: 'ec2-user'

Installation details

Apache Guacamole is compiled natively and runnning on APache Tomcat 9, with OpenJDK 11 and MySQL 8.

The project location is /etc/guacamole ($GUACAMOLE_HOME) where configuration files are stored. The extensions are in $GUACAMOLE_HOME/extensions and the libraries in $GUACAMOLE_HOME/lib

Tomcat server is installed in /opt/java/apache-tomcat-[version] directory, which is linked to /usr/java/apache-tomcat, defined in $CATALINA_HOME.

The Apache Guacamole WAR is deployed at $CATALINA_HOME/webapps.

Services are configured with systemd.

(*) If the client wants to use other kind of authentication, project and libraries are provided at $HOME/software/guacamole directory

Authentication methods

MySQL

It uses the authentication module through MySQL database thanks to the library guacamole-auth-jdbc-mysql-x.x.x.jar, in $GUACAMOLE_HOME/extensions directory, the JDBC driver of MySQL, mysql-connector-java-x.x.x.jar, in $GUACAMOLE_HOME/lib directory and the database configuration provided in the file: $GUACAMOLE_HOME/guacamole.properties

PostgreSQL

It uses the authentication module through PostgreSQL database thanks to the library guacamole-auth-jdbc-postgresql-x.x.x.jar, in $GUACAMOLE_HOME/extensions directory, the JDBC driver of PostgreSQL, postgresql-x.x.x.jar, in $GUACAMOLE_HOME/lib directory and the database configuration provided in the file: $GUACAMOLE_HOME/guacamole.properties

Tomcat

View status of service:

$ sudo systemctl status tomcat

Stop service:

$ sudo systemctl stop tomcat

Start service:

$ sudo systemctl start tomcat

Guacamole

View status of service:

$ sudo systemctl status guacd

Stop service:

$ sudo systemctl stop guacd

Start service:

$ sudo systemctl start guacd

MySQL

View status of service:

$ sudo systemctl status mysqld

Stop service:

$ sudo systemctl stop mysqld

Start service:

$ sudo systemctl start mysqld

Access to MysQL console:

$ sudo mysql

PostgreSQL

View status of service:

$ sudo systemctl status postgresql

Stop service:

$ sudo systemctl stop postgresql

Start service:

$ sudo systemctl start postgresql

Access to MysQL console:

sudo -u postgres psql

Other useful data

Location of sensitive information

There is no sensitive data

Encryption configuration

There is no encrypted data.

Changing system credentials

To change the Guacamole credentials you have to go to the right menu, click "Settings" button, users section, select user guacadmin and complete the form.

Instructions on how the user interacts with Guacamole to decrypt necessary data

You can use the Guacamole management console to view all necessary data.

How to assess and monitor the health and proper function of the application.

  1. Navigate to your Amazon EC2 console and verify that you're in the correct region.
  2. Choose Instance and select your launched instance.
  3. Select the server to display your metadata page and choose the Status checks tab at the bottom of the page to review if your status checks passed or failed.

List of AMIs provisioned by Neodoo

Apache Guacamole with MySQL Apache Guacamole with PostgreSQL
Ubuntu Linux 22.04 LTS View View
Ubuntu Linux 24.04 LTS View View

Additional resources