Introduction to Guacamole
Hey readers, so today we will be looking into Guacamole and how can we connect to an AWS EC2 instance using Guacamole.
Guacamole is a tool that allows access to one or more desktops from anywhere remotely without any client to be installed on another side.
For installing Guacamole on your system, I would prefer to install Guacamole using docker. After installing Guacamole on your system, it creates a lot of system files and creates chaos in your system so I would recommend you all to install using Docker.
docker run -p 8080:8080 -v /path/to/config>:config oznu/guacamole
The above command will pull the Guacamole image and will run it as a container in your Docker environment.
In the above image, you can see the second container running f4745773dd58, and in the ports section, a port number is also mentioned like 0.0.0.0:49155. Then go to the browser and in the search section, write localhost:49155/guacamole. You can see the admin page below:
Then the default credentials are guacadmin:guacadmin. After logging in, you can see the console as below:
As you can see a few connections are there. so for making a new connection, go to the top right corner and click on the guacadmin. From there click on the settings option. After that, you can see the settings below:
Then go to the Connections tab. You will see the configurations page below:
First, you have to give a name to your connection. Then select the protocol type to SSH. Then under the Connectivity Limits section, give both the fields a number like 100.
Generating SSH key
Before moving forward to other sections, I would like you all to start an EC2 instance on AWS. After creating the instance, create SSH keys on the system to that you want your EC2 to be connected.
ssh-keygen -t rsa -b 4096 -m PEM
Two keys will be generated after running the above command. During the key generation process, a prompt will come to you to create a passphrase. You have to create a passphrase of at least 5 characters or digits and remember that passphrase as you have to enter it into the settings of the connection.
After that, copy the public IP of your EC2 instance in the hostname under the Parameters section. Give port number 22. Then under the authentication section, give username as ubuntu. and in the private key, copy the private key that you have generated using the above command. After that, enter the passphrase as well as shown below:
Save this configuration and go to the home of your guacamole by navigating through the top-right menu.
After that, copy the public SSH key and go to your EC2 instance. Change the directory to ssh and add that public key to the authorized keys file and save that. Now we are done with setting the connection. Go to your guacamole home and it will look like as shown below:
Now click on the connection that you have made and will be redirected to the instance prompt like below:
As you can see that we can access the EC2 instance from our system by installing nothing on the instance. So by using Guacamole, we can connect to the local instance too. For more knowledge, click here.