How to setup Guacamole in Aws Ami Linux 2 Ec2
sudo yum update
Reboot
sudo reboot now
sudo amazon-linux-extras install mate-desktop1.x
Define MATE as the default desktop
sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'
sudo yum install tigervnc-server
Configure a VNC-specific password containing 6 to 8 characters for this user. Do not configure a secondary view-only password in this step
vncpasswd
Create a new systemd unit
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
Replace all occurrences of in the new unit with ec2-user
sudo sed -i 's/<USER>/ec2-user/' /etc/systemd/system/vncserver@.service
Reload the systemd manager configuration
sudo systemctl daemon-reload
Enable the service
sudo systemctl enable vncserver@:1
Start the service
sudo systemctl start vncserver@:1
Add a firewall rule to open 5901 port
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum-config-manager --enable epel
sudo yum install guacd
sudo yum install libguac-client-vnc libguac-client-ssh libguac-client-rdp
sudo amazon-linux-extras install tomcat8.5
wget https://downloads.apache.org/guacamole/1.1.0/binary/guacamole-1.1.0.war
sudo mv guacamole-1.1.0.war /var/lib/tomcat/webapps/guacamole.war
sudo mkdir /usr/share/tomcat/.guacamole
sudo nano /usr/share/tomcat/.guacamole/guacamole.properties
Paste the bollowing lines
guacd-hostname: localhost
guacd-port: 4822
sudo nano /usr/share/tomcat/.guacamole/user-mapping.xml
<user-mapping>
<authorize username="USERNAME" password="PASSWORD">
<connection name="Windows: RDP Connection">
<protocol>rdp</protocol>
<param name="hostname">192.168.10.1</param>
<param name="port">3389</param>
<param name="username">User</param>
<param name="password">PassUsr</param>
<param name="ignore-cert">true</param>
<param name="console">false</param>
<param name="cursor">remote</param>
<param name="enable-printing">true</param>
<param name="color-depth">16</param>
<param name="enable-drive">true</param>
<param name="drive-path">/rdpxchange</param>
<param name="width">1920</param>
<param name="height">1440</param>
</connection>
<connection name="Debian2: VNC Connection">
<protocol>vnc</protocol>
<param name="hostname">localhost</param>
<param name="port">5901</param>
<param name="password">vagrant</param>
</connection>
<connection name="Debian2: SSH Connection">
<protocol>ssh</protocol>
<param name="hostname">localhost</param>
<param name="port">22</param>
<param name="username">vagrant</param>
</connection>
<connection name="Debian1: SSH Connection">
<protocol>ssh</protocol>
<param name="hostname">192.168.10.5</param>
<param name="port">22</param>
<param name="username">vagrant</param>
</connection>
<connection name="Debian2: Telnet Connection">
<protocol>telnet</protocol>
<param name="hostname">localhost</param>
<param name="port">23</param>
<param name="username">vagrant</param>
</connection>
</authorize>
</user-mapping>
Change Owner
sudo chown tomcat:tomcat usr/share/tomcat/.guacamole/user-mapping.xml
sudo mkdir /rdpxchange
Change owner
sudo chown guacd:guacd /rdpxchange
sudo yum install ghostscript
Download branding.jar from https://github.com/Zer0CoolX/guacamole-customize-loginscreen-extension
sudo mkdir ~tomcat/.guacamole/extensions
sudo chown guacd:guacd ~tomcat/.guacamole/extensions
Decompress brandin.jar, customize, compress
Upload to ~tomcat/.guacamole/extensions
sudo wget https://github.com/Zer0CoolX/guacamole-customize-loginscreen-extension/blob/master/branding.jar
mv branding.jar ~tomcat/.guacamole/extensions/branding.jar
sudo chown guacd:guacd ~tomcat/.guacamole/extensions/branding.jar
sudo service guacd stop
sudo service guacd start
sudo systemctl start guacd
sudo systemctl start tomcat
sudo service guacd stop
sudo guacd -L debug -f
sudo service tomcat restart