GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar el cliente de escritorio remoto Guacamole basado en la web en Ubuntu 20.04 LTS

Guacamole es un panel de control de escritorio remoto gratuito, de código abierto y basado en la web que se utiliza para administrar sistemas Linux y Windows desde el navegador web. Admite protocolos estándar como VNC, RDP, SSH y Kubernetes, y no necesita instalar ningún software en la computadora del cliente. Admite portapapeles, transferencia de archivos a través de SFTP y le permite administrar múltiples sesiones de escritorio remoto.

En este tutorial, le mostraremos cómo instalar y configurar el cliente de escritorio remoto Guacamole en el servidor Ubuntu 20.04.

Requisitos

  • Un servidor con Ubuntu 20.04 con un mínimo de 2 GB de RAM.
  • Se configura una contraseña de root en el servidor.

Cómo empezar

Primero, deberá actualizar su sistema a la última versión estable. Puede hacer esto actualizando todos los paquetes del sistema usando el siguiente comando:

apt-get update -y

Una vez que su sistema esté actualizado, reinícielo para aplicar los cambios.

Instalar dependencias requeridas

Primero, deberá instalar algunas dependencias en su servidor para compilar el Guacamole desde la fuente. Puede instalarlos todos con el siguiente comando:

apt-get install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev -y

Una vez que todas las dependencias estén instaladas, puede continuar con el siguiente paso.

Instalar servidor Tomcat

Guacamole usa Tomcat para brindar contenido de cliente de guacamole a los usuarios que se conectan al servidor de guacamole a través del navegador web. Entonces, el servidor Tomcat debe estar instalado en su servidor. Si no está instalado, puede instalarlo con el siguiente comando:

apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y

Después de instalar el servidor Tomcat, inicie el servicio Tomcat y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start tomcat9
systemctl enable tomcat9

También puede verificar el estado del servicio Tomcat con el siguiente comando:

systemctl status tomcat9

Deberías obtener el siguiente resultado:

? tomcat9.service - Apache Tomcat 9 Web Application Server
     Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-08-25 14:48:50 UTC; 29min ago
       Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html
    Process: 27982 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS)
   Main PID: 27990 (java)
      Tasks: 38 (limit: 4691)
     Memory: 241.5M
     CGroup: /system.slice/tomcat9.service
             ??27990 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.l>

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar Guacamole

De forma predeterminada, el paquete Guacamole no está disponible en el repositorio predeterminado de Ubuntu 20.04. Por lo tanto, deberá compilarlo desde la fuente.

Primero, descargue la última versión de Guacamole del sitio web de Apache usando el siguiente comando:

wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz

Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:

tar -xvzf guacamole-server-1.1.0.tar.gz

A continuación, cambie el directorio al directorio extraído y ejecute el script de configuración para verificar si falta o no alguna dependencia requerida:

cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d

Si todo está bien, debería ver el siguiente resultado:

     freerdp2 ............ yes
     pango ............... yes
     libavcodec .......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ no
     libwebsockets ....... no
     libwebp ............. yes
     wsock32 ............. no

   Protocol support:

      Kubernetes .... no
      RDP ........... yes
      SSH ........... yes
      Telnet ........ yes
      VNC ........... yes

   Services / tools:

      guacd ...... yes
      guacenc .... yes
      guaclog .... yes

   FreeRDP plugins: /usr/lib/x86_64-linux-gnu/freerdp2
   Init scripts: /etc/init.d
   Systemd units: no

Type "make" to compile guacamole-server.

Ahora, compila e instala Guacamole Server ejecutando el siguiente comando:

make
make install

A continuación, ejecute el siguiente comando para actualizar la caché de su sistema de bibliotecas instaladas:

ldconfig

Luego, habilite e inicie el servicio Guacamole usando el siguiente comando

systemctl enable guacd
systemctl start guacd

Ahora puede verificar el estado del servicio Guacamole con el siguiente comando:

systemctl status guacd

Deberías obtener el siguiente resultado:

? guacd.service - LSB: Guacamole proxy daemon
     Loaded: loaded (/etc/init.d/guacd; generated)
     Active: active (running) since Tue 2020-08-25 12:02:26 UTC; 4s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 27536 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 4691)
     Memory: 10.1M
     CGroup: /system.slice/guacd.service
             ??27555 /usr/local/sbin/guacd -p /var/run/guacd.pid

Aug 25 12:02:26 ubuntu2004 systemd[1]: Starting LSB: Guacamole proxy daemon...
Aug 25 12:02:26 ubuntu2004 guacd[27551]: Guacamole proxy daemon (guacd) version 1.1.0 started
Aug 25 12:02:26 ubuntu2004 guacd[27536]: Starting guacd:
Aug 25 12:02:26 ubuntu2004 guacd[27551]: Starting guacd:
Aug 25 12:02:26 ubuntu2004 guacd[27551]: uacd[27551]: INFO:        Guacamole proxy daemon (guacd) versio
Aug 25 12:02:26 ubuntu2004 systemd[1]: Started LSB: Guacamole proxy daemon.
Aug 25 12:02:26 ubuntu2004 guacd[27555]: Listening on host 127.0.0.1, port 4822
Aug 25 12:02:26 ubuntu2004 guacd[27536]: uacd[275

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar Cliente Guacamole

A continuación, deberá instalar el cliente Guacamole en su servidor. El cliente Guacamole está escrito en Java y es multiplataforma. Esto constituirá la aplicación HTML5 final que se le presentará.

Primero, descargue el binario Guacamole usando el siguiente comando:

wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war

Después de descargar el binario Guacamole, cópielo en el directorio /etc/guacamole usando el siguiente comando:

mkdir /etc/guacamole
mv guacamole-1.1.0.war /etc/guacamole/guacamole.war

A continuación, cree un enlace simbólico del cliente guacamole al directorio de aplicaciones web de Tomcat con el siguiente comando:

ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/

Finalmente, reinicie el servicio Tomcat y Guacamole para implementar la nueva aplicación web:

systemctl restart tomcat9
systemctl restart guacd

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Guacamole

A continuación, debe configurar los usuarios y las conexiones para que Guacamole funcione correctamente.

Primero, cree un archivo de configuración principal de Guacamole llamado guacamole.properties.

nano /etc/guacamole/guacamole.properties

Agregue las siguientes líneas:

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml

Guarde y cierre el archivo cuando haya terminado.

A continuación, deberá crear directorios para la biblioteca y la extensión. Puede crearlos con el siguiente comando:

mkdir /etc/guacamole/{extensions,lib}

A continuación, configure la variable de entorno del directorio de inicio de guacamole y agréguela al archivo de configuración /etc/default/tomcat9.

echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9

A continuación, deberá crear un archivo llamado user-mapping.xml para definir el usuario autorizado para acceder a la interfaz de usuario web de Guacamole.

Antes de crearlo, genera hash md5 para la contraseña con el siguiente comando:

echo -n yoursecurepassword | openssl md5

Debería ver el siguiente resultado:

(stdin)= 55b38b03e7587a45fd886977842ff9b8

Nota :Recuerde la contraseña md5 anterior. Deberá definir esto en el archivo user-mapping.xml.

A continuación, cree un nuevo user-mapping.xml con el siguiente comando:

nano /etc/guacamole/user-mapping.xml
<user-mapping>
    <authorize 
            username="admin"
            password="55b38b03e7587a45fd886977842ff9b8"
            encoding="md5">

        <connection name="Ubuntu20.04-Server">
            <protocol>ssh</protocol>
            <param name="hostname">192.168.10.50</param>
            <param name="port">22</param>
            <param name="username">root</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.10.51</param>
            <param name="port">3389</param>
        </connection>
    </authorize>
</user-mapping>

Guarde y cierre el archivo cuando haya terminado.

Dónde:

  • 192.168.10.50 es la dirección IP del servidor Ubuntu remoto.
  • 192.168.10.51 es la dirección IP del servidor de Windows eliminado.

A continuación, reinicie el servicio Tomcat y Guacamole para aplicar los cambios:

systemctl restart tomcat9
systemctl restart guacd

En este punto, el servidor y el cliente de Guacamole se han instalado y configurado.

Acceder a la interfaz web de guacamole

Ahora, abra su navegador web y acceda a la interfaz web de Guacamole usando la URL http://your-server-ip:8080/guacamole. Será redirigido a la página de inicio de sesión de Guacamole:

Proporcione el nombre de usuario y la contraseña que definió en el user-mapping.xml y haga clic en Iniciar sesión botón. Debería ver el tablero de Guacamole en la siguiente página:

Ahora, haga clic en Ubuntu20.04-Server para conectar el servidor remoto utilizando el protocolo SSH. Debería ver la pantalla de inicio de sesión del servidor Ubuntu como se muestra a continuación:

Proporcione la contraseña raíz de su servidor Ubuntu y presione Enter . Iniciará sesión en el servidor de Ubuntu como se muestra a continuación:

Configurar Nginx para Guacamole

Se recomienda configurar el Nginx como proxy inverso para acceder al Guacamole a través del puerto 80.

Primero, instale el servidor web Nginx usando el siguiente comando:

apt-get install nginx -y

Después de instalar Nginx, cree un nuevo archivo de configuración de host virtual de Nginx:

nano /etc/nginx/sites-available/guacamole.conf

Agregue las siguientes líneas:

server {
        listen 80;
        server_name your-server-ip;
        access_log  /var/log/nginx/guac_access.log;
        error_log  /var/log/nginx/guac_error.log;

        location / {
                    proxy_pass http://your-server-ip:8080/guacamole/;
                    proxy_buffering off;
                    proxy_http_version 1.1;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection $http_connection;
                    proxy_cookie_path /guacamole/ /;
        }

}

Guarde y cierre el archivo cuando haya terminado. Luego, habilite el host virtual Nginx con el siguiente comando:

ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/

A continuación, reinicie el servicio Nginx para aplicar los cambios de configuración:

systemctl restart nginx

Ahora, puede acceder a su Guacamole usando la URL http://your-server-ip.

Conclusión

¡Felicidades! Ha instalado y configurado con éxito el cliente de escritorio remoto Guacamole en el servidor Ubuntu 20.04. Ahora puede agregar más conexiones RDP o VNC a su Guacamole y comenzar a administrarlas desde la interfaz basada en la web.


Ubuntu
  1. Cómo instalar el cliente de escritorio remoto Guacamole basado en la web en Ubuntu 18.04 LTS

  2. Cómo instalar el escritorio Ubuntu 20.04 LTS

  3. Cómo instalar Dropbox en Ubuntu 18.04 LTS Desktop

  4. Cómo instalar Mattermost Client en Ubuntu 18.04

  5. Cómo instalar Xrdp (escritorio remoto) en Ubuntu 20.04 LTS

Cómo instalar el cliente de escritorio de WordPress en Ubuntu 20.04

Cómo instalar TeamViewer en Ubuntu 16.04 LTS

Cómo instalar Chrome Remote Desktop en Ubuntu 20.04 LTS

Cómo instalar el cliente de escritorio Remmina en Ubuntu 20.04 LTS

Cómo instalar el cliente de escritorio remoto Remmina en Ubuntu Linux

Cómo instalar Guacamole en Ubuntu 20.04