In this article, I am writing a very useful solution to access your systems from anywhere on the internet. Apache Guacamole (https://guacamole.apache.org/) is a web application which can be installed in the network system. We can add the all systems there to make them accessible from internet. Note that the web page should be accessible from internet. So, all systems can be accessed from a webpage which uses HTTP protocol.
Why I need Guacamole?
So, I have setup a homelab with two server computers which run 24 hours a day. When I am at home , I will be in the same network, I can access the servers using SSH. But what if you are in different network and you need to urgently fix some server issues or update something in the server? I have no choice, but install Guacamole and make your systems connect using SSH. There are many other alternatives too to access your systems, but I prefer SSH.
Installation
The installation can be done by downloading the installtation files from https://guacamole.apache.org/releases/
But I prefer using Docker to install Guacamole and we can run it in container. I have written docker compose file for the installation.
docker-compose.yml
version: "3"
services:
guacamole:
image: abesnier/guacamole
container_name: guacamole
user: root
volumes:
- ./volumes/config:/config
ports:
- 8731:8080
By running the following command, the Guacamole is up and running.
docker-compose up -d
Now Apache Guacamole can be accessed using the port 8731. For example:
You can login with default username and password (guacadmin/guacadmin) to login. After login, you need to change the password immediately.
How to add a System
To add a system, you have to go to settings (visible under the login name on top right corner). You can add a new system by choosing Connections -> New Connection.
I have selected SSH protocol to connect.

In PARAMETERS section, I have filled Network and Authentication group as follows:

Other fields can be left empty. Then click the Save button. Then go to “Home”, you will see the recently added connection. When you click there, you can access the system via SSH Terminal.
Congratulations!