GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

Si usted es un administrador de sistemas y es responsable de administrar máquinas con Windows y Linux, es posible que a menudo necesite un software de cliente de escritorio remoto para administrarlas. Apache Guacamole es una aplicación de escritorio remoto gratuita, de código abierto y basada en la web que le permite acceder a sus máquinas de escritorio a través de un navegador web. Es una aplicación web HTML5 sin cliente que admite protocolos estándar como VNC, RDP y SSH. No necesita instalar un software de cliente o complementos en el servidor. Con Guacamole, puede cambiar fácilmente entre varias máquinas de escritorio remoto con la misma ventana del navegador.

En este tutorial, mostraremos cómo instalar la puerta de enlace de escritorio remoto Apache Guacamole en el servidor Ubuntu 18.04 LTS.

Requisitos

  • Un servidor con Ubuntu 18.04.
  • Se ha configurado una contraseña de root en su servidor.

Cómo empezar

Antes de comenzar, es una buena idea actualizar el paquete de su sistema a la última versión. Puede actualizarlos usando el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez que todos los paquetes estén actualizados, reinicie su sistema para aplicar los cambios.

Instalar dependencias requeridas

Antes de comenzar, deberá instalar algunas dependencias en su sistema para compilar Guacamole desde la fuente. Puede instalarlos todos usando el siguiente comando:

apt-get install gcc-6 g++-6 libossp-uuid-dev libavcodec-dev libpango1.0-dev libssh2-1-dev libcairo2-dev libjpeg-turbo8-dev libpng-dev libavutil-dev libswscale-dev libfreerdp-dev libvncserver-dev libssl-dev libvorbis-dev libwebp-dev -y

Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.

Instalar servidor Tomcat

A continuación, deberá instalar Tomcat en su servidor para servir el contenido del cliente de guacamole a los usuarios que se conectan al servidor de guacamole a través del navegador web. Puedes instalarlo usando el siguiente comando:

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

Una vez que Tomcat esté instalado, puede continuar con el siguiente paso.

Instalar Servidor Guacamole

Guacamole se divide en dos componentes, guacamole-server, que proporciona el proxy guacd y las bibliotecas relacionadas, y guacamole-client, que proporciona el cliente que será atendido por su servidor Tomcat. De forma predeterminada, Guacamole Server no está disponible en el repositorio predeterminado de Ubuntu 18.04. Por lo tanto, deberá compilarlo desde la fuente.

Primero, descargue la última versión de la fuente Guacamole usando el siguiente comando:

wget http://apachemirror.wuchna.com/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 configúrelo con el siguiente comando:

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

Una vez que la configuración sea exitosa, debería obtener el siguiente resultado:

   Library status:

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

   Protocol support:

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

   Services / tools:

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

   FreeRDP plugins: no
   Init scripts: /etc/init.d
   Systemd units: no

Type "make" to compile guacamole-server.

A continuación, ejecute el siguiente comando para compilar guacamole-server:

make

Una vez que la compilación se complete con éxito, puede instalarla con el siguiente comando:

make install

Una vez instalado, ejecute el siguiente comando para actualizar el caché de su sistema de bibliotecas instaladas

ldconfig

A continuación, habilite el servicio Guacamole para que se inicie en el arranque e inícielo con el siguiente comando:

systemctl enable guacd
systemctl start guacd

También puede verificar el estado del servicio de 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 Sat 2020-04-11 14:48:03 UTC; 7s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 28833 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 2359)
   CGroup: /system.slice/guacd.service
           ??28847 /usr/local/sbin/guacd -p /var/run/guacd.pid

Apr 11 14:48:03 ubuntu1804 systemd[1]: Starting LSB: Guacamole proxy daemon...
Apr 11 14:48:03 ubuntu1804 guacd[28834]: Guacamole proxy daemon (guacd) version 1.1.0 started
Apr 11 14:48:03 ubuntu1804 guacd[28833]: Starting guacd: guacd[28834]: INFO:        Guacamole proxy daemon (guacd) version 1.1.0 started
Apr 11 14:48:03 ubuntu1804 guacd[28833]: SUCCESS
Apr 11 14:48:03 ubuntu1804 systemd[1]: Started LSB: Guacamole proxy daemon.
Apr 11 14:48:03 ubuntu1804 guacd[28847]: Listening on host 127.0.0.1, port 4822

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, descarga el archivo binario de Guacamole con el siguiente comando:

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

Una vez completada la descarga, cópiela en el directorio /etc/guacamole:

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/tomcat8/webapps/

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

systemctl restart tomcat8
systemctl restart guacd

Configurar Guacamole

Después de instalar Guacamole, debe configurar usuarios y 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. Luego, cree un directorio lib y extensiones con el siguiente comando:

mkdir /etc/guacamole/{extensions,lib}

A continuación, la variable de entorno del directorio de inicio de guacamole al archivo de configuración predeterminado de tomcat8.

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

El método de autenticación predeterminado de Guacamole lee todos los usuarios y conexiones desde un solo archivo llamado user-mapping.xml. Este archivo definirá el usuario autorizado para acceder a la interfaz de usuario web de Guacamole, los servidores a los que conectarse y el método de conexión.

Primero, genera hash md5 para la contraseña con el siguiente comando:

echo -n yoursecurepassword | openssl md5

Deberías obtener el siguiente resultado:

(stdin)= 55b38b03e7587a45fd886977842ff9b8

Nota:Recuerde este hash, deberá especificarlo 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

Agregue las siguientes líneas:

<user-mapping>
    <authorize 
            username="admin"
            password="55b38b03e7587a45fd886977842ff9b8"
            encoding="md5">

        <connection name="Ubuntu-Server">
            <protocol>ssh</protocol>
            <param name="hostname">192.168.0.150</param>
            <param name="port">22<param>
            <param name="username">root</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.0.100</param>
            <param name="port">3389</param>
        </connection>
    </authorize>
</user-mapping>

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Tomcat y Guacamole para aplicar los cambios:

systemctl restart tomcat8
systemctl restart guacd

Acceder a la interfaz web de guacamole

En este punto, el servidor Guacamole está instalado y configurado. Ahora es el momento de acceder a él a través de un navegador web.

Abra su navegador web y escriba la URL http://your-server-ip:8080/guacamole/. Será redirigido a la página de inicio de sesión de Apache Guacamole:

Proporcione el nombre de usuario y la contraseña que ha especificado en el archivo user-mapping.xml y haga clic en Iniciar sesión botón. Debería ver el panel predeterminado de Apache Guacamole con todas las conexiones:

Ahora, haga clic en Ubuntu-Server y se le pedirá que ingrese la contraseña para el usuario que definió en user-mapping.xml como se muestra a continuación:

Proporcione la contraseña de los usuarios de su sistema y presione Enter . Iniciará sesión en Ubuntu-Server como se muestra a continuación:

Configure Nginx como proxy inverso para guacamole

A continuación, deberá configurar Nginx como proxy inverso para acceder al panel de control de Guacamole. Primero, instale el servidor web Nginx usando el siguiente comando:

apt-get install nginx -y

Una vez instalado, cree un nuevo archivo de configuración de host virtual 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, compruebe si hay algún error de sintaxis en Nginx con el siguiente comando:

nginx -t

Deberías obtener el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Finalmente, reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

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

Conclusión

¡Felicidades! ha instalado con éxito la puerta de enlace de escritorio remoto Guacamole en el servidor Ubuntu 18.04. Ahora puede agregar otro servidor remoto que desee administrar de forma remota a través de un navegador web.


Ubuntu
  1. Cómo instalar el cliente de escritorio remoto Guacamole basado en la web en Ubuntu 20.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