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:
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