Instale y use el escritorio remoto Guacamole en CentOS 8

A
Puede descargar este artículo en formato PDF a través del siguiente enlace para apoyarnos.

Descarga la guía en formato PDF

apagar
A

A
A

Apache Guacamole es una puerta de enlace de escritorio remoto sin cliente que admite protocolos estándar como VNC, RDP y SSH. Gracias a HTML5, después de instalar guacamole en el servidor, puedes acceder al escritorio simplemente usando un navegador web.

Guacamole se divide en dos partes: guacamole-server y guacamole-client, que proporciona el proxy guacd y bibliotecas relacionadas, mientras que guacamole-client proporciona el cliente que será atendido por el contenedor de servlets. En la mayoría de los casos, el único recurso que necesita crear es guacamole-server, y descargar la última versión guacamole.war del sitio web del proyecto es suficiente para atender a los clientes.

Crédito: sitio web de guacamole

Paso 1: preparación del servidor

Apache Guacamole tiene muchas dependencias y manejaremos la mayoría de ellas en este paso. Notarás que utilicé algunos paquetes del repositorio de Devel porque es un desafío obtenerlos del repositorio oficial. Una vez instalado el paquete que necesitamos, desactívelo.

sudo dnf update
sudo dnf install -y vim wget unzip make cmake wget gcc zlib-devel compat-openssl10
sudo dnf config-manager --set-enabled PowerTools
sudo dnf config-manager --enable Devel
sudo dnf -y install cairo-devel libuv-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool uuid-devel freerdp-devel pango-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel libssh2-devel libwebsockets-devel libtheora opus lame-libs
sudo dnf config-manager --disable Devel

Instalar otras bibliotecas desde la fuente

Algunas bibliotecas aún no están disponibles en el repositorio. Incluyen libtelnet.

wget https://github.com/seanmiddleditch/libtelnet/releases/download/0.23/libtelnet-0.23.tar.gz
tar -xf libtelnet-0.23.tar.gz
cd libtelnet-0.23
./configure
make && sudo make install

Paso 2: Instale Apache Tomcat

Después de ordenar los requisitos previos, ejecute el siguiente comando para instalar el contenedor Apache Tomcat Javaservelet que puede servir al cliente Guacamole Java y todas las dependencias necesarias. Como es el lenguaje Java, primero instalamos Java.

Instalar Java en CentOS 8

Ejecute el siguiente comando para obtener java-11-openjdk.

sudo yum install java-11-openjdk-devel

Cree un archivo y configure las variables de entorno Java.

$ sudo vim /etc/profile.d/java11.sh

export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

Proporcione la fuente del archivo para comenzar a usarlo sin cerrar sesión.

source /etc/profile.d/java11.sh

Instalar Apache Tomcat en CentOS 8

Para instalar Apache Tomcat, siga nuestra guía detallada sobre cómo instalar Apache Tomcat 9 en CentOS 8. Como ya instalamos el instalador de Java, ignórelo.

Paso 3: construye un servidor de guacamole a partir del código fuente

guacamole-server contiene todos los componentes nativos del lado del servidor que Guacamole necesita para conectarse al escritorio remoto. Proporciona la biblioteca C general libguac de la que dependen todos los demás componentes nativos, así como bibliotecas independientes para cada protocolo admitido y el demonio proxy guacd (el núcleo de guacamole).

DescargarLa última versión estable del servidor Guacamole

cd ~
wget https://mirror.cc.columbia.edu/pub/software/apache/guacamole/1.2.0/source/guacamole-server-1.2.0.tar.gz

Descomprima el archivo descargado.

tar -xvf guacamole-server-1.2.0.tar.gz

Vaya al directorio extraído.

cd guacamole-server-1.2.0

Configure el entorno de compilación. La ejecución de configure determinará las bibliotecas disponibles en el sistema y seleccionará los componentes apropiados para compilar en función del contenido instalado real.

./configure --with-init-dir=/etc/init.d

Luego compila el servidor guacamole. Después de compilar todos los componentes, una buena parte del resultado se desplazará en la pantalla.

make

Una vez hecho todo, todo lo que tiene que hacer es escribir "sudo make install" para instalar los componentes integrados y luego escribir "ldconfig" para actualizar la caché del sistema de las bibliotecas instaladas.

sudo make install

Actualice el caché de las bibliotecas instaladas en el sistema.

sudo ldconfig

Actualícelo para encontrar el servicio guacd (daemon del agente guacamole) instalado en el directorio /etc/init.d/.

sudo systemctl daemon-reload

Después de reiniciar, inicie el servicio guacd.

sudo systemctl start guacd
sudo systemctl enable guacd

Para poner una sonrisa en tu cara, comprueba su estado.

$ systemctl status guacd

? guacd.service - LSB: Guacamole proxy daemon
   Loaded: loaded (/etc/rc.d/init.d/guacd; generated)
   Active: active (running) since Thu 2020-08-27 10:26:04 UTC; 43s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 51357 ExecStart=/etc/rc.d/init.d/guacd start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 11070)
   Memory: 11.9M
   CGroup: /system.slice/guacd.service
           ??51360 /usr/local/sbin/guacd -p /var/run/guacd.pid

Paso 4: Instale la aplicación web Guacamole

La implementación de Guacamole involucra dos archivos clave: guacamole.war (es el archivo que contiene la aplicación web) y guacamole.properties, que es el archivo de configuración principal de Guacamole. La forma recomendada de utilizar Guacamole es colocar estos archivos en una ubicación estándar y luego crear un enlace simbólico a ellos para que Tomcat pueda encontrarlos.

guacamole-client contiene todos los componentes Java y Maven de Guacamole (guacamole, guacamole-common, guacamole-ext y guacamole-common-js). Estos componentes constituyen en última instancia una aplicación web que proporcionará un cliente guacamole HTML5 a los usuarios que se conecten al servidor. Esta aplicación web se conectará a la parte guacd del servidor guacamole en nombre de los usuarios conectados para proporcionarles cualquier escritorio remoto al que tengan acceso.

Instalar el cliente Guacamole en CentOS 8

El cliente Guacamole se puede utilizar como un archivo binario. Para instalarlo, simplemente sáquelo de la página de descarga binaria de Guacamole como se muestra a continuación y cópielo a/etc/guacamole/Directorio y cambio de nombre al mismo tiempo.

cd ~
sudo mkdir /etc/guacamole
wget https://downloads.apache.org/guacamole/1.2.0/binary/guacamole-1.2.0.war -O /etc/guacamole/guacamole.war

Para instalar los archivos binarios del cliente Guacamole, cree un enlace simbólico desde el cliente guacamole al directorio de aplicaciones web de Tomcat como se muestra a continuación;

sudo ln -s /etc/guacamole/guacamole.war /usr/share/tomcat/webapps/

Paso 5: configurar el servidor de guacamole

Después de instalar el demonio del servidor Guacamole, debe definir cómo conectar el cliente Guacamole al servidor Guacamole (guacd) ubicado en la siguiente ubicación./etc/guacamole/guacamole.propertiesArchivo de configuración. En esta configuración, solo necesita definir el nombre de host, el puerto, el perfil de mapeo de usuario y el proveedor de autenticación del servidor Guacamole.

GUACAMOLE_HOME es el nombre del directorio de configuración de guacamole, que se encuentra en /etc/guacamole de forma predeterminada. Todos los archivos de configuración, extensiones, etc. se encuentran en este directorio.

Crear variable de entorno GUACAMOLE_HOME

echo "GUACAMOLE_HOME=/etc/guacamole" | sudo tee -a /etc/default/tomcat

Cree y complete el archivo de configuración /etc/guacamole/guacamole.properties como se muestra a continuación:

$ sudo vim /etc/guacamole/guacamole.properties

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml
auth-provider:    net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

Después de configurar como se muestra arriba, guárdelo y vincule el directorio de configuración de Guacamole al directorio del servlet Tomcat como se muestra a continuación.

sudo ln -s /etc/guacamole /usr/share/tomcat/.guacamole

Paso 6: configura el método de autenticación de guacamole

El método de autenticación predeterminado de Guacamole lee todos los usuarios y conexiones de un archivo llamado user-mapping.xml. En este archivo, debe definir los usuarios a los que se les permite acceder a la interfaz de usuario web de Guacamole, el servidor al que conectarse y el método de conexión.

Genere un hash MD5 de la contraseña para el usuario que se utilizará para iniciar sesión en la interfaz de usuario web de Guacamole. Reemplace su contraseña en consecuencia.

$ echo -n StrongPassword | openssl md5
(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2

Después de preparar la contraseña, cree un archivo de asignación de usuarios con el siguiente contenido de muestra. Puede poner cualquier nombre de host, nombre de usuario y host según su entorno.

$ sudo vim /etc/guacamole/user-mapping.xml


         
         
         
         
         
         
         
         

    

    
    
          
          
          
          
          
          
          
          

        
        
           
           
           
           
           
           
           
           
            
            
            
            
            
            
            
            
            
             
             
             
             
             
             
             
             ssh
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            10.10.10.10
            
            
            
            
            
            
            
            
            22
        
           
           
           
           
           
           
           
           

        
        
           
           
           
           
           
           
           
           
            
            
            
            
            
            
            
            
            
             
             
             
             
             
             
             
             rdp
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            10.10.10.5
            
            
            
            
            
            
            
            
            3389
            
            
            
            
            
            
            
            
            tech
            
            
            
            
            
            
            
            
            true
        
           
           
           
           
           
           
           
           

    
          
          
          
          
          
          
          
          


         
         
         
         
         
         
         
         

buen material. Después de completar todas las operaciones, reinicie Tomcat y guacd para implementar los cambios.

sudo systemctl restart tomcat guacd

Si está ejecutando un firewall y aún no ha permitido el puerto, puede hacerlo lo más rápido posible de la siguiente manera:

sudo firewall-cmd --permanent --add-port={4822,8080}/tcp
sudo firewall-cmd --reload

Paso 7: Obtén la interfaz web de guacamole

Hasta ahora hemos configurado todo bien, por lo que deberíamos estar listos para acceder a la aplicación en la que hemos estado trabajando. Para acceder a la interfaz web de Guacamole, simplemente apunte su navegador ahttps: // ip-o-nombre-de-dominio: 8080 / guacamoleY aparece la pantalla de inicio de sesión que se muestra a continuación:

Como puede ver, la conexión que establecimos en el archivo de configuración se carga cuando inicia sesión.

Simplemente haga clic en aquel al que desea conectarse y se le pedirá que ingrese su nombre de usuario y contraseña, ya sea a través de SSH o RDP.

Ingrese la contraseña de su servidor

Se nos debe permitir entrar

Observaciones finales

Dado que el cliente Guacamole es una aplicación web HTML5, el uso de la computadora no está restringido por ningún dispositivo o ubicación. Siempre que tenga acceso a un navegador web, podrá acceder a su máquina. Con Guacamole y un sistema operativo de escritorio alojado en la nube, puedes combinar la comodidad de Guacamole con la elasticidad y flexibilidad de la computación en la nube. Compruébelo y aproveche su flexibilidad y conveniencia, especialmente en esta temporada en la que la mayoría de nosotros trabajamos desde casa.

referencias:

Página de guacamole apache

Documentación de Apache Guacamole

Gracias por su continuo apoyo y continúe divirtiéndose mientras toma otras ideas de la guía sutil que se comparte a continuación.

La forma sencilla de crear un túnel SSH en la CLI de Linux

Instalar y configurar OpenSSH Server en Windows Server 2019

Cómo configurar la autenticación de dos factores (2FA) para SSH en CentOS/RHEL 7/8

A
Puede descargar este artículo en formato PDF a través del siguiente enlace para apoyarnos.

Descarga la guía en formato PDF

apagar
A

A
A

Actualizaciones del boletín

Ingrese su dirección de correo electrónico a continuación para suscribirse a nuestro boletín