{"id":8451,"date":"2021-03-27T10:37:55","date_gmt":"2021-03-27T07:37:55","guid":{"rendered":"https:\/\/kifarunix.com\/?p=8451"},"modified":"2024-03-19T18:22:24","modified_gmt":"2024-03-19T15:22:24","slug":"install-apache-guacamole-on-ubuntu-21-04","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/install-apache-guacamole-on-ubuntu-21-04\/","title":{"rendered":"Install Apache Guacamole on Ubuntu 21.04"},"content":{"rendered":"\n<p>In this guide, we are going to learn how to install&nbsp;<a href=\"https:\/\/guacamole.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Apache Guacamole<\/a>&nbsp;on Ubuntu 21.04. Apache Guacamole&nbsp;is a clientless HTML5 web based remote desktop gateway which provides remote access to servers and desktops through a web browser. It supports standard protocols like VNC, RDP, and SSH.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Install Guacamole on Ubuntu 21.04<\/h2>\n\n\n\n<p>Guacamole is made up of two parts;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code><a href=\"#guacd\" class=\"rank-math-link\">guacamole-server<\/a><\/code>, which provides the&nbsp;guacd&nbsp;proxy&nbsp;and all the native, server-side components required by Guacamole to connect to remote desktops.<\/li>\n\n\n\n<li><code><a href=\"#guac-client\" class=\"rank-math-link\">guacamole-client<\/a><\/code>&nbsp;which provides the client to be served by the servlet container which is usually&nbsp;<code>Tomcat<\/code>.<\/li>\n<\/ul>\n\n\n\n<p>You need to install both of these components to setup Apache Guacamole web-based remote desktop client.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"guacd\">Install Guacamole Server on Ubuntu 21.04<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Run system Update<\/h4>\n\n\n\n<p>Ensure your system package cache is up-to-date;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt update<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Install Required Build Tools<\/h4>\n\n\n\n<p>To install guacamole-server, you need to build it from the source. This, therefore, requires that you need install the required build tools before you can start to build guacamole-server component;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt install -y build-essential libcairo2-dev libjpeg-turbo8-dev libpng-dev \\\nlibtool-bin libossp-uuid-dev libavcodec-dev&nbsp;libavformat-dev libavutil-dev libswscale-dev \\\nfreerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev \\\nlibssl-dev libvorbis-dev libwebp-dev<\/code><\/pre>\n\n\n\n<p>A comprehensive description of these dependency tools is available on&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/guacamole.apache.org\/doc\/gug\/installing-guacamole.html#required-dependencies\" target=\"_blank\">required dependencies<\/a>&nbsp;section.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Building&nbsp;Guacamole Server on Ubuntu 21.04<\/h4>\n\n\n\n<p>To build guacamole-server, download the latest source archive tarball from <a aria-label=\"Guacamole releases page (opens in a new tab)\" href=\"https:\/\/guacamole.apache.org\/releases\/\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"rank-math-link\">Guacamole releases page<\/a>. <a aria-label=\"Apache Guacamole 1.3.0 (opens in a new tab)\" href=\"https:\/\/guacamole.apache.org\/releases\/1.3.0\/\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"rank-math-link\">Apache Guacamole 1.3.0<\/a> is the latest release version as of this writing.<\/p>\n\n\n\n<p>You can simply run the command below to download Apache Guacamole 1.3.0.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>wget https:\/\/downloads.apache.org\/guacamole\/1.3.0\/source\/guacamole-server-1.3.0.tar.gz<\/code><\/pre>\n\n\n\n<p>Once the download is done, extract the source tarball.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>tar xzf guacamole-server-1.3.0.tar.gz<\/code><\/pre>\n\n\n\n<p>Navigate to guacamole server source code directory;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>cd guacamole-server-1.3.0<\/code><\/pre>\n\n\n\n<p>Run the&nbsp;<code>configure<\/code>&nbsp;script to check if any required dependency is missing and to adapt Guacamole server to your system.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>.\/configure <strong>--with-init-dir=\/etc\/init.d<\/strong><\/code><\/pre>\n\n\n\n<p>For more configure options, run,&nbsp;<code>.\/configure --help<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>...\n------------------------------------------------\nguacamole-server version 1.3.0\n------------------------------------------------\n\n   Library status:\n\n     freerdp2 ............ yes\n     pango ............... yes\n     libavcodec .......... yes\n     libavformat.......... yes\n     libavutil ........... yes\n     libssh2 ............. yes\n     libssl .............. yes\n     libswscale .......... yes\n     libtelnet ........... yes\n     libVNCServer ........ yes\n     libvorbis ........... yes\n     libpulse ............ no\n     libwebsockets ....... no\n     libwebp ............. yes\n     wsock32 ............. no\n\n   Protocol support:\n\n      Kubernetes .... no\n      RDP ........... yes\n      SSH ........... yes\n      Telnet ........ yes\n      VNC ........... yes\n\n   Services \/ tools:\n\n      guacd ...... yes\n      guacenc .... yes\n      guaclog .... yes\n\n   FreeRDP plugins: \/usr\/lib\/x86_64-linux-gnu\/freerdp2\n   Init scripts: \/etc\/init.d\n   Systemd units: no\n\nType \"make\" to compile guacamole-server.<\/code><\/pre>\n\n\n\n<p>Pay attention to out of the&nbsp;<code>configure<\/code>&nbsp;script.<\/p>\n\n\n\n<p>Compile and install Guacamole Server on Ubuntu 21.04;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>make<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>make install<\/code><\/pre>\n\n\n\n<p>Next, run the&nbsp;<strong><code>ldconfig<\/code><\/strong>&nbsp;command to create the necessary links and cache to the most recent shared libraries found in the guacamole server directory.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ldconfig<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Running Guacamole-Server on Ubuntu 21.04<\/h4>\n\n\n\n<p>Reload systemd configuration files and start and enable guacd (Guacamole Daemon) to run on boot after the installation.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl daemon-reload<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl start guacd<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl enable guacd<\/code><\/pre>\n\n\n\n<p>To check the status;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl status guacd<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\u25cf guacd.service - LSB: Guacamole proxy daemon\n     Loaded: loaded (\/etc\/init.d\/guacd; generated)\n     Active: active (running) since Sat 2021-03-27 05:12:24 UTC; 1s ago\n       Docs: man:systemd-sysv-generator(8)\n    Process: 22887 ExecStart=\/etc\/init.d\/guacd start (code=exited, status=0\/SUCCESS)\n      Tasks: 1 (limit: 1042)\n     Memory: 9.9M\n     CGroup: \/system.slice\/guacd.service\n             \u2514\u250022891 \/usr\/local\/sbin\/guacd -p \/var\/run\/guacd.pid\n\nMar 27 05:12:24 hirsute systemd&#91;1]: Starting LSB: Guacamole proxy daemon...\nMar 27 05:12:24 hirsute guacd&#91;22888]: Guacamole proxy daemon (guacd) version 1.3.0 started\nMar 27 05:12:24 hirsute guacd&#91;22887]: Starting guacd:\nMar 27 05:12:24 hirsute guacd&#91;22888]: guacd&#91;22888]: INFO:        Guacamole proxy daemon (guacd) version 1.3.0 started\nMar 27 05:12:24 hirsute guacd&#91;22887]: SUCCESS\nMar 27 05:12:24 hirsute guacd&#91;22891]: Listening on host 127.0.0.1, port 4822\nMar 27 05:12:24 hirsute systemd&#91;1]: Started LSB: Guacamole proxy daemon.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Install Tomcat Servlet<\/h3>\n\n\n\n<p>Apache Tomcat is used to serve guacamole client content to users that connects to guacamole server via the web browser. To install Tomcat, run the command below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y<\/code><\/pre>\n\n\n\n<p>Tomcat9 is started and enabled to run on system boot upon installation. Check the status by running the command below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl status tomcat9.service<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\u25cf tomcat9.service - Apache Tomcat 9 Web Application Server\n     Loaded: loaded (\/lib\/systemd\/system\/tomcat9.service; enabled; vendor preset: enabled)\n     Active: active (running) since Sat 2021-03-27 05:17:40 UTC; 2min 40s ago\n       Docs: https:\/\/tomcat.apache.org\/tomcat-9.0-doc\/index.html\n    Process: 24611 ExecStartPre=\/usr\/libexec\/tomcat9\/tomcat-update-policy.sh (code=exited, status=0\/SUCCESS)\n   Main PID: 24615 (java)\n      Tasks: 29 (limit: 1042)\n     Memory: 72.8M\n     CGroup: \/system.slice\/tomcat9.service\n             \u2514\u250024615 \/usr\/lib\/jvm\/default-java\/bin\/java -Djava.util.logging.config.file=\/var\/lib\/tomcat9\/conf\/logging.properties -Djava.util.logging.manager=org.apache.jul&gt;\n\nMar 27 05:17:45 hirsute tomcat9&#91;24615]: Deployment of deployment descriptor &#91;\/etc\/tomcat9\/Catalina\/localhost\/host-manager.xml] has finished in &#91;1,800] ms\nMar 27 05:17:45 hirsute tomcat9&#91;24615]: Deploying deployment descriptor &#91;\/etc\/tomcat9\/Catalina\/localhost\/manager.xml]<\/code><\/pre>\n\n\n\n<p>Apache Tomcat listens on port 8080\/tcp by default;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ss -altnp | grep 80<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>LISTEN 0      100                *:8080            *:*    users:((\"java\",pid=24615,fd=37))<\/code><\/pre>\n\n\n\n<p>To allow external access to the serverlet, open the serverlet port 8080\/tcp on UFW.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ufw allow 8080\/tcp<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"guac-client\">Installing Guacamole Client on Ubuntu 21.04<\/h3>\n\n\n\n<p>guacamole-client&nbsp;contains provides web application that will serve the HTML5 Guacamole client to users that connect to your server.&nbsp;The web application will then connect to&nbsp;guacd&nbsp;on behalf of connected users in order to serve them any remote desktop they are authorized to access.<\/p>\n\n\n\n<p>Create Guacamole configuration directory;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>mkdir \/etc\/guacamole<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Download Guacamole-client Binary<\/h4>\n\n\n\n<p>Guacamole client can be installed from  source code or from ready binary. Binary installation is used in this demo.<\/p>\n\n\n\n<p>Download Guacamole-client from&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/guacamole.apache.org\/releases\/\" target=\"_blank\" class=\"rank-math-link\">Guacamole releases page<\/a>&nbsp;for the respective latest version (v1.3.0 as of this writing) and store it in the configuration directory created above.<\/p>\n\n\n\n<p>To download the current release version, v1.3.0 as of this writing, simply run the command below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>wget https:\/\/downloads.apache.org\/guacamole\/1.3.0\/binary\/guacamole-1.3.0.war -O \/etc\/guacamole\/guacamole.war<\/code><\/pre>\n\n\n\n<p>Create a symbolic link of the guacamole client to Tomcat webapps directory as shown below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ln -s \/etc\/guacamole\/guacamole.war \/var\/lib\/tomcat9\/webapps\/<\/code><\/pre>\n\n\n\n<p>Restart Tomcat to deploy the new web application;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl restart tomcat9<\/code><\/pre>\n\n\n\n<p>Restart guacd&nbsp;daemon as well;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl restart guacd<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Configure Apache Guacamole on Ubuntu 21.04<\/h2>\n\n\n\n<p>Guacamole has two major configuration files;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code><strong>\/etc\/guacamole<\/strong><\/code>&nbsp;which is referenced by the&nbsp;<code>GUACAMOLE_HOME<\/code>&nbsp;environment variable<\/li>\n\n\n\n<li><code><strong>\/etc\/guacamole\/guacamole.properties<\/strong><\/code>&nbsp;which is the main configuration file used by Guacamole and its extensions.<\/li>\n<\/ul>\n\n\n\n<p>There are also guacamole extensions and libraries configurations. You need to create the directories for these configs;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>mkdir \/etc\/guacamole\/{extensions,lib}<\/code><\/pre>\n\n\n\n<p>Set the guacamole home directory environment variable and add it to&nbsp;<code><strong>\/etc\/default\/tomcat9<\/strong><\/code>&nbsp;configuration file.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>echo \"GUACAMOLE_HOME=\/etc\/guacamole\" &gt;&gt; \/etc\/default\/tomcat9<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Configure Guacamole Server Connections<\/h4>\n\n\n\n<p>To define how Guacamole connects to&nbsp;<code>guacd<\/code>, create the&nbsp;<code>guacamole.properties<\/code>&nbsp;file under&nbsp;<code><strong>\/etc\/guacamole<\/strong><\/code>&nbsp;directory with the following content.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>vim \/etc\/guacamole\/guacamole.properties<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>guacd-hostname: localhost\nguacd-port:     4822\nuser-mapping:   \/etc\/guacamole\/user-mapping.xml\nauth-provider:  net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider<\/code><\/pre>\n\n\n\n<p>After that, save and exit the configuration file.<\/p>\n\n\n\n<p>Next, link the Guacamole configurations directory to Tomcat servlet directory as shown below.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ln -s \/etc\/guacamole \/usr\/share\/tomcat9\/.guacamole<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Configure Guacamole Authentication Method<\/h4>\n\n\n\n<p>Guacamole\u2019s default authentication method reads all users and connections from a single file called&nbsp;<code>user-mapping.xml<\/code>.<\/p>\n\n\n\n<p>In this file,you need to define the&nbsp;<strong>users allowed to access Guacamole web UI<\/strong>,<strong>&nbsp;the servers to connect to<\/strong>&nbsp;and&nbsp;<strong>the method of connection<\/strong>.<\/p>\n\n\n\n<p>Other authentication methods are supported, but beyond the scope of this tutorial.<\/p>\n\n\n\n<p>To begin with, generate the MD5 hash of passwords for the user to be used for logging into Guacamole web user interface. <strong>Replace you password accordingly<\/strong>;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>echo -n password | openssl md5<\/code><\/pre>\n\n\n\n<p>Output;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(stdin)= 5f4dcc3b5aa765d61d8327deb882cf99<\/code><\/pre>\n\n\n\n<p>or<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>printf '%s' password | md5sum<\/code><\/pre>\n\n\n\n<p>Output;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>5f4dcc3b5aa765d61d8327deb882cf99  -<\/code><\/pre>\n\n\n\n<p>Be sure to replace&nbsp;<strong>password<\/strong>&nbsp;with your strong password.<\/p>\n\n\n\n<p>Next, create the default user authentication file, <code><strong>user-mapping.xml<\/strong><\/code> with the following contents.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>vim \/etc\/guacamole\/user-mapping.xml<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>&lt;user-mapping&gt;\n        \n    &lt;!-- Per-user authentication and config information --&gt;\n\n    &lt;!-- A user using md5 to hash the password\n         <strong>guacadmin user and its md5 hashed password below is used to <\/strong>\n<strong>             login to Guacamole Web UI<\/strong>--&gt;\n    &lt;authorize \n            username=\"<strong>guacadmin<\/strong>\"\n            password=\"5f4dcc3b5aa765d61d8327deb882cf99\"\n            encoding=\"md5\"&gt;\n\n        &lt;!-- <strong>First authorized Remote connection<\/strong> --&gt;\n<strong>        &lt;connection name=\"Ubuntu 20.04 Server SSH\"&gt;\n            &lt;protocol&gt;ssh&lt;\/protocol&gt;\n            &lt;param name=\"hostname\"&gt;192.168.57.3&lt;\/param&gt;\n            &lt;param name=\"port\"&gt;22&lt;\/param&gt;\n        &lt;\/connection&gt;<\/strong>\n\n        &lt;!-- Second authorized remote connection --&gt;\n<strong>        &lt;connection name=\"Windows 7 RDP\"&gt;\n            &lt;protocol&gt;rdp&lt;\/protocol&gt;\n            &lt;param name=\"hostname\"&gt;192.168.56.103&lt;\/param&gt;\n            &lt;param name=\"port\"&gt;3389&lt;\/param&gt;<\/strong>\n            <strong>&lt;param name=\"username\"&gt;koromicha&lt;\/param&gt;\n            &lt;param name=\"ignore-cert\"&gt;true&lt;\/param&gt;\n        &lt;\/connection&gt;<\/strong>\n\n    &lt;\/authorize&gt;\n\n&lt;\/user-mapping&gt;<\/code><\/pre>\n\n\n\n<p>If you dont specify the username and password in the file, you will be prompted to provide them while attempting to login, which i consider it abit secure.<\/p>\n\n\n\n<p>If you need to explicitly define usernames and passwords in the configuration file, add the parameters;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>&lt;param name=\"username\"&gt;<strong>USERNAME<\/strong>&lt;\/param&gt;\n&lt;param name=\"password\"&gt;<strong>PASSWORD&lt;\/param&gt;<\/strong><\/code><\/pre>\n\n\n\n<p>Save and exit the configuration file.<\/p>\n\n\n\n<p>Restart both Tomcat and guacd to effect the changes.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl restart tomcat9 guacd<\/code><\/pre>\n\n\n\n<p>Be sure to check the syslog,&nbsp;<code>\/var\/log\/syslog<\/code>&nbsp;or&nbsp;<code>\/var\/log\/tomcat9\/CATALINA-*<\/code>&nbsp;for any issues.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Accessing Apache Guacamole from Browse<\/h3>\n\n\n\n<p>Apache Guacamole server is now setup. You can access it from web browser using the address&nbsp;<code><strong>http:\/\/server-IP:8080\/guacamole<\/strong><\/code>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"952\" height=\"588\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-login-page.png\" alt=\"\" class=\"wp-image-8457\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-login-page.png?v=1616824415 952w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-login-page-768x474.png?v=1616824415 768w\" sizes=\"(max-width: 952px) 100vw, 952px\" \/><\/figure><\/div>\n\n\n<p>Use the credentials for the user whom you generated an MD5 hash for its password above.<\/p>\n\n\n\n<p>Upon successful login, you get to Apache Guacamole web dashboard and you should be able to see the added connections.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1911\" height=\"428\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-connections.png\" alt=\"\" class=\"wp-image-8458\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-connections.png?v=1616824587 1911w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-connections-768x172.png?v=1616824587 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-connections-1536x344.png?v=1616824587 1536w\" sizes=\"(max-width: 1911px) 100vw, 1911px\" \/><\/figure>\n\n\n\n<p>Click on a connection to name to initiate remote login.<\/p>\n\n\n\n<p>For example, to ssh into my Ubuntu server, just click on the connection name. This will get you a login prompt;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1103\" height=\"623\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-remote-ssh-login.png\" alt=\"\" class=\"wp-image-8459\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-remote-ssh-login.png?v=1616824873 1103w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-remote-ssh-login-768x434.png?v=1616824873 768w\" sizes=\"(max-width: 1103px) 100vw, 1103px\" \/><\/figure>\n\n\n\n<p>To login to Windows 7 via RDP, just click on Windows 7;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1571\" height=\"980\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-win7-rdp.png\" alt=\"\" class=\"wp-image-8460\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-win7-rdp.png?v=1616827902 1571w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-win7-rdp-768x479.png?v=1616827902 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2021\/03\/apache-guacamole-win7-rdp-1536x958.png?v=1616827902 1536w\" sizes=\"(max-width: 1571px) 100vw, 1571px\" \/><\/figure>\n\n\n\n<p>And there you go. Enter your password and proceed to your desktop.<\/p>\n\n\n\n<p>You can now add more connections to your Guacamole.<\/p>\n\n\n\n<p>Related guides;<\/p>\n\n\n\n<p><a aria-label=\" (opens in a new tab)\" href=\"https:\/\/kifarunix.com\/configure-guacamole-ssl-tls-with-nginx-reverse-proxy\/\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"rank-math-link\">Configure Guacamole SSL\/TLS with Nginx Reverse Proxy<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/how-to-enable-rdp-ssh-file-transfer-over-guacamole\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">How to Enable RDP\/SSH File Transfer Over Guacamole<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Further Reading<\/h3>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/guacamole.apache.org\/doc\/0.9.6\/gug\/users-guide.html\" target=\"_blank\" class=\"rank-math-link\">Guacamole User Manual<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Other tutorials<\/h3>\n\n\n\n<p><a aria-label=\" (opens in a new tab)\" href=\"https:\/\/kifarunix.com\/install-nomachine-remote-desktop-tool-on-kali-linux-2020\/\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"rank-math-link\">Install NoMachine Remote Desktop Tool on Kali Linux 2020<\/a><\/p>\n\n\n\n<p><a aria-label=\" (opens in a new tab)\" href=\"https:\/\/kifarunix.com\/install-and-setup-chrome-remote-desktop-on-ubuntu-20-04\/\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"rank-math-link\">Install and Setup Chrome Remote Desktop on Ubuntu 20.04<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/install-apache-guacamole-on-ubuntu-20-04\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">Install Apache Guacamole on Ubuntu 20.04<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this guide, we are going to learn how to install&nbsp;Apache Guacamole&nbsp;on Ubuntu 21.04. Apache Guacamole&nbsp;is a clientless HTML5 web based remote desktop gateway which<\/p>\n","protected":false},"author":1,"featured_media":8461,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[214,121],"tags":[3341,3340,3342,3339,3344,978,3345,3343],"class_list":["post-8451","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-remote-desktop","category-howtos","tag-apache-guacamole-ubuntu","tag-guacamole-remote-desktop","tag-install-guacamole-ubuntu","tag-install-guacamole-ubuntu-21-04","tag-rdp-on-guacamole","tag-remote-desktop","tag-ssh-on-apache-guacamole","tag-ubuntu-guacamole","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","resize-featured-image"],"_links":{"self":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/8451"}],"collection":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/comments?post=8451"}],"version-history":[{"count":4,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/8451\/revisions"}],"predecessor-version":[{"id":21877,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/8451\/revisions\/21877"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media\/8461"}],"wp:attachment":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media?parent=8451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/categories?post=8451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/tags?post=8451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}