Apache Guacamole es una puerta de enlace de escritorio remoto gratuita, de código abierto y sin cliente. Admite protocolos estándar como SSH, RDP y VNC. No necesita complementos ni clientes de terceros para funcionar. Puede acceder a su máquina mediante una puerta de enlace basada en web. Puede colocarse detrás de un servidor proxy que le permite acceder a sus servidores desde cualquier parte del mundo.
El guacamole se compone de dos componentes:
guacamole-server
contiene todos los componentes nativos del lado del servidor que requiere Guacamole para conectarse a escritorios remotos.guacd
es el demonio proxy que se ejecuta en el servidor Guacamole, acepta conexiones de usuarios y luego los conecta a los escritorios remotos.guacamole-client
contiene todos los componentes de Java y Javascript de Guacamole que conforman la aplicación web donde los usuarios pueden conectarse a sus escritorios.
En este tutorial, aprenderá cómo instalar y usar Apache Guacamole en un servidor basado en Rocky Linux 8. También aprenderá a usarlo para conectarse a un escritorio remoto. Instalaremos Guacamole compilando desde su código fuente.
Requisitos
-
Un servidor que ejecute Rocky Linux 8 con un mínimo de 2 GB de RAM y 2 núcleos de CPU.
-
Un nombre de dominio para el servicio de asistencia que apunta al servidor. Para nuestro tutorial, usaremos
uvdesk.example.com
dominio. -
Un usuario no root con privilegios sudo.
-
Asegúrate de que todo esté actualizado.
$ sudo actualización dnf
-
Instalar paquetes de utilidades básicas. Es posible que algunos de ellos ya estén instalados.
$ sudo dnf install wget curl nano descomprimir yum-utils -y
Paso 1:configurar el cortafuegos
El primer paso es configurar el cortafuegos. Rocky Linux usa Firewalld Firewall. Compruebe el estado del cortafuegos.
$ sudo cortafuegos-cmd --staterunning
El firewall funciona con diferentes zonas, y la zona pública es la predeterminada que usaremos. Enumere todos los servicios y puertos activos en el firewall.
$ sudo cortafuegos-cmd --permanente --list-services
Debería mostrar el siguiente resultado.
cabina dhcpv6-cliente ssh
Permitir puertos HTTP y HTTPS.
$ sudo firewall-cmd --permanent --add-service=http$ sudo firewall-cmd --permanent --add-service=https
Vuelva a comprobar el estado del cortafuegos.
$ sudo cortafuegos-cmd --permanente --list-services
Debería ver un resultado similar.
cabina dhcpv6-cliente http https ssh
Vuelva a cargar el cortafuegos para habilitar los cambios.
$ sudo firewall-cmd --recargar
Paso 2:instalar bibliotecas
Antes de instalar las bibliotecas, debemos instalar el repositorio de EPEL y habilitar el repositorio de PowerTools.
$ sudo dnf install epel-release -y$ sudo dnf config-manager --set-enabled powertools
El primer paso es instalar las bibliotecas necesarias para compilar Guacamole. Instale las bibliotecas necesarias.
$ sudo dnf install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool libuuid-devel uuid-devel make cmake
Las dependencias anteriores son obligatorias, lo que significa que sin ellas no se puede construir Guacamole. Puede instalar algunas dependencias opcionales para agregar compatibilidad con varios protocolos y funciones.
Pero primero, debe habilitar RPMFusion Free Repository porque contiene el paquete ffmpeg-devel
.
$ sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
Instale las dependencias opcionales.
$ sudo dnf install ffmpeg-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel libwebsockets-devel pulseaudio-libs-devel openssl-devel compat-openssl10 libvorbis-devel libwebp-devel libgcrypt-devel
Paso 3:instalar Apache Tomcat
Para nuestro tutorial, instalaremos Apache Tomcat 9, que requiere Java 8 y versiones posteriores para funcionar.
Instalar Java
Instalaremos OpenJDK 11, la implementación de código abierto de la plataforma Java.
Ejecute el siguiente comando para instalar OpenJDK.
$ sudo dnf install java-11-openjdk-devel
Verifique la instalación.
$ java -versionopenjdk 11.0.14 2022-01-18 LTSOpenJDK Runtime Environment 18.9 (compilación 11.0.14+9-LTS)OpenJDK 64-Bit Server VM 18.9 (compilación 11.0.14+9-LTS, modo mixto, uso compartido )
Crear usuario de Tomcat
A continuación, cree un usuario para el servicio Tomcat. Estableceremos /opt/tomcat
como el directorio de inicio.
$ sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Descargar Tomcat
La última versión de Tomcat v10 se puede descargar desde su página de descarga. Al momento de escribir este tutorial, v9.0.59 es la última versión disponible. Compruebe la última versión antes de descargar Tomcat.
Usa wget
para descargar Tomcat.
$ TVERSION=9.0.59$ wget https://dlcdn.apache.org/tomcat/tomcat-9/v${TVERSION}/bin/apache-tomcat-${TVERSION}.tar.gz
Extraiga el archivo a /opt/tomcat
directorio.
$ sudo tar -xf apache-tomcat-${TVERSION}.tar.gz --strip-components=1 -C /opt/tomcat/
Cambie la propiedad del directorio al usuario de Tomcat.
$ sudo chown -R tomcat:tomcat /opt/tomcat
Crea un archivo de unidad Systemd e inicia Tomcat
Cree y abra el archivo /etc/systemd/system/tomcat.service
para editar.
$ sudo nano /etc/systemd/system/tomcat.service
Pegue el siguiente código.
[Unidad]Descripción=Apache Tomcat 9 Servlet containerWants=network.targetAfter=network.target[Service]Type=forkingUser=tomcatGroup=tomcatEnvironment="JAVA_HOME=/usr/lib/jvm/jre"Environment="JAVA_OPTS=- Djava.awt.headless=true"Entorno="CATALINA_BASE=/opt/tomcat"Entorno="CATALINA_HOME=/opt/tomcat"Entorno="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"Entorno="CATALINA_OPTS=- Xms512M -Xmx1024M -servidor -XX:+UseParallelGC"ExecStart=/opt/tomcat/bin/startup.shExecStop=/opt/tomcat/bin/shutdown.shRestart=always[Install]WantedBy=multi-user.target
Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite guardar.
Vuelva a cargar el demonio de servicio para habilitar el servicio Tomcat.
$ sudo systemctl demonio-recargar
Habilite e inicie el servicio Tomcat.
$ sudo systemctl habilitar tomcat --ahora
Consulta el estado del servicio.
$ sudo systemctl status tomcat? tomcat.service - Contenedor de Apache Tomcat 9 Servlet Cargado:cargado (/etc/systemd/system/tomcat.service; habilitado; valor predeterminado del proveedor:deshabilitado) Activo:activo (en ejecución) desde el miércoles 09-03-2022 09:48:38 UTC; Hace 8 s Proceso:25308 ExecStart=/opt/tomcat/bin/startup.sh (código=salido, estado=0/ÉXITO) PID principal:25315 (java) Tareas:29 (límite:11412) Memoria:154,9 M CGroup:/ system.slice/tomcat.service ??25315 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties ..Mar 09 09:48 :38 guacamole systemd[1]:iniciando el contenedor de Apache Tomcat 9 Servlet... 09 de marzo 09:48:38 guacamole systemd[1]:iniciando el contenedor de Apache Tomcat 9 Servlet.
Paso 4 - Descargar y construir guacamole
Puede obtener la última versión estable de Guacamole desde su sitio web. Al momento de escribir este tutorial, la última versión disponible era 1.4.0. Descarga el código fuente de Guacamole.
$ GVERSION=1.4.0$ wget https://downloads.apache.org/guacamole/${GVERSION}/source/guacamole-server-${GVERSION}.tar.gz
Extraiga el archivo y cambie al directorio recién creado.
$ tar -xzf servidor-guacamole-${GVERSION}.tar.gz$ cd servidor-guacamole-${GVERSION}/
Ejecute configure
comando para determinar qué bibliotecas están disponibles y para seleccionar componentes para construir.
$ ./configure --with-systemd-dir=/etc/systemd/system/
El directorio /etc/systemd/system/
es donde se instalará el script de inicio durante el proceso de compilación para configurar Guacamole para que se inicie automáticamente en el arranque.
Obtendrá el siguiente resultado al finalizar con éxito.
comprobando si hay una instalación compatible con BSD... /usr/bin/install -ccomprobando si el entorno de compilación es sensato... sí...----------------- -------------------------------guacamole-servidor versión 1.4.0------------------- ------------------------------------ Estado de la biblioteca:freerdp2 .......... .. sí pango ............... sí libavcodec .......... sí libavformat.......... sí libavutil ..... ...... sí libssh2 ............. sí libssl .............. sí libswscale .......... sí libtelnet ........... sí libVNCServer ........ sí libvorbis ........... sí libpulse ............ sí libwebsockets ....... sí libwebp ............. sí wsock32 ............. no Soporte de protocolo:Kubernetes .... sí RDP . .......... sí SSH ........... sí Telnet ........ sí VNC ........... sí Servicios / herramientas :guacd ...... sí guacenc .... sí guaclog .... sí Complementos FreeRDP:/usr/lib64/freerdp2 Scripts de inicio:no Unidades Systemd:/etc/systemd/system/Escriba "make" para compilar guacamole-server.
Si no tiene algunas bibliotecas instaladas, verá no
en lugar de yes
en la salida. Pero si falta una biblioteca crítica, el comando fallará. Para buscar más opciones de configuración, ejecute ./configure --help
comando.
Compile e instale el servidor Guacamole usando los siguientes comandos.
$ hacer &&sudo hacer instalar
Ejecute el siguiente comando para actualizar la memoria caché del sistema de las bibliotecas instaladas.
$ sudo ldconfig
Vuelva a cargar el demonio de servicio.
$ sudo systemctl demonio-recargar
Habilite e inicie el servicio Guacamole.
$ sudo systemctl habilitar guacd --ahora
Verifica el estado del servicio.
$ sudo systemctl estado guacd? guacd.service - Servidor Guacamole Cargado:cargado (/etc/systemd/system/guacd.service; habilitado; valor preestablecido del proveedor:deshabilitado) Activo:activo (en ejecución) desde el jueves 10 de marzo de 2022 a las 09:13:41 UTC; Hace 7 s Documentos:man:guacd(8) PID principal:85349 (guacd) Tareas:1 (límite:11181) Memoria:10,8 M CGroup:/system.slice/guacd.service ??85349 /usr/local/sbin/guacd -fMar 10 09:13:41 guacamole systemd[1]:Servidor Guacamole iniciado. 10 de marzo 09:13:41 guacamole guacd[85349]:Guacamole proxy daemon (guacd) versión 1.4.0 iniciado 10 de marzo 09:13:41 guacamole guacd [85349]:guacd[85349]:INFO:Guacamole proxy daemon (guacd) versión 1.4.0 comenzó el 10 de marzo 09:13:41 guacamole guacd[85349]:guacd[85349]:INFO:Escuchando en host ::1, puerto 4822Mar 10 09:13:41 guacamole guacd[85349]:Escuchando en host ::1, puerto 4822
Paso 5:instalar el cliente Guacamole
Ahora que ha instalado el servidor, el siguiente paso es instalar el cliente.
Cree el directorio de configuración para Guacamole.
$ sudo mkdir /etc/guacamole
A diferencia del servidor Guacamole, el cliente Guacamole está disponible en código fuente y formato binario. Para nuestro tutorial, descargaremos el binario. Sin embargo, puede elegir construir el cliente desde la fuente.
Descargue el binario del cliente Guacamole del sitio web.
$ sudo wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-${GVERSION}.war -O /etc/guacamole/guacamole.war
El comando anterior descarga y copia el archivo binario de Guacamole en /etc/guacamole
directorio.
Para que el cliente funcione, debe implementarse desde el directorio de Tomcat, que es $CATALINA_HOME/webapps/
. En el Paso 3, configuramos /opt/tomcat
como $CATALINA_HOME
.
Ejecute el siguiente comando para crear un enlace simbólico desde /etc/guacamole/guacamole.war
al directorio de aplicaciones web de Tomcat.
$ sudo ln -s /etc/guacamole/guacamole.war /opt/tomcat/webapps/
Cambia el permiso de la aplicación a tomcat
usuario.
$ sudo chown -R tomcat:tomcat /opt/tomcat/webapps
Cree el archivo de configuración de la aplicación web en /etc/guacamole/guacd.conf
.
$ sudo nano /etc/guacamole/guacd.conf
Pegue el siguiente código en él. Reemplace your_server_IP
con la dirección IP pública de su servidor.
## archivo de configuración de guacd#[daemon]#pid_file =/var/run/guacd.pidlog_level =info[server]bind_host =your_server_IPbind_port =4822## Los siguientes parámetros son válidos solo si # guacd fue construido con soporte SSL. ## [ssl]# server_certificate =/etc/ssl/certs/guacd.crt# server_key =/etc/ssl/private/guacd.key
Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite guardar.
Reinicie el servidor Guacamole y Tomcat para aplicar los cambios.
$ sudo systemctl reiniciar tomcat guacd
Paso 6:instalar y configurar MySQL
Apache Guacamole ofrece varios tipos de métodos de autenticación. Para fines de prueba, la autenticación simple basada en contraseña es suficiente. Pero para los entornos de producción, necesitamos implementar un método de autenticación mejor y más fuerte. Aquí, implementaremos la autenticación basada en bases de datos usando MySQL.
Instale MySQL.
$ sudo dnf instalar servidor mysql
Habilite e inicie el servicio MySQL.
$ sudo systemctl habilitar mysqld --ahora
Instalación segura de MySQL.
$ sudo mysql_secure_installation
Para el primer paso, se le preguntará si desea configurar el complemento Validar contraseña, que puede usar para probar la seguridad de su contraseña de MySQL. Elija Y
para proceder. Se le pedirá que elija el nivel de validación de la contraseña en el siguiente paso. Elige 2
que es el nivel más fuerte y requerirá que su contraseña tenga al menos ocho caracteres e incluya una combinación de mayúsculas, minúsculas, números y caracteres especiales.
Asegurar la implementación del servidor MySQL. Conexión a MySQL usando una contraseña en blanco. El COMPONENTE VALIDAR CONTRASEÑA se puede usar para probar contraseñas y mejorar la seguridad. Comprueba la seguridad de la contraseña y permite a los usuarios establecer solo aquellas contraseñas que son lo suficientemente seguras. ¿Le gustaría configurar el componente VALIDAR CONTRASEÑA? Presione y|Y para Sí, cualquier otra tecla para No:Y Hay tres niveles de política de validación de contraseña:Longitud BAJA>=8 Longitud MEDIA>=8, numérico, mayúsculas y minúsculas y caracteres especiales Longitud FUERTE>=8, numérico, mayúsculas y minúsculas, caracteres especiales y archivo de diccionarioIngrese 0 =BAJO, 1 =MEDIO y 2 =FUERTE:2
Se le pedirá que elija una contraseña de root en el siguiente paso. Elija una contraseña segura que cumpla con los requisitos del complemento de validación de contraseña. En el siguiente paso, se le preguntará si desea continuar con la contraseña elegida. Pulsa y
para continuar.
Establezca la contraseña para root aquí. Nueva contraseña:Vuelva a ingresar la nueva contraseña:Fuerza estimada de la contraseña:100 ¿Desea continuar con la contraseña provista? (Presione y|Y para Sí, cualquier otra tecla para No) :Si
Presiona Y
y luego ENTER
clave para todas las siguientes indicaciones para eliminar usuarios anónimos y la base de datos de prueba, deshabilitar los inicios de sesión raíz y cargar las reglas recién establecidas.
...¿Eliminar usuarios anónimos? (Presione y|Y para Sí, cualquier otra tecla para No):YSuccess....¿Deshabilitar el inicio de sesión raíz de forma remota? (Presione y|Y para Sí, cualquier otra tecla para No):YÉxito....¿Eliminar la base de datos de prueba y acceder a ella? (Presione y|Y para Sí, cualquier otra tecla para No):Y - Eliminando la base de datos de prueba... Éxito. - Eliminando privilegios en la base de datos de prueba... Éxito. Volver a cargar las tablas de privilegios garantizará que todos los cambios realizados hasta el momento surtan efecto inmediatamente... ¿Recargar las tablas de privilegios ahora? (Presione y|Y para Sí, cualquier otra tecla para No) :YÉxito. ¡Todo listo!
Ingrese el shell de MySQL. Ingrese su contraseña raíz para continuar.
$ mysql -u raíz -p
Crear guacamole_user
usuario. Asegúrese de que la contraseña cumpla con los requisitos establecidos anteriormente.
mysql> CREAR USUARIO 'guacamole_user'@'localhost' IDENTIFICADO POR 'Tu_contraseña2';
Crear guacamole_db
base de datos.
mysql> CREAR BASE DE DATOS guacamole_db;
Otorgue privilegios de usuario en el guacamole_db
base de datos.
mysql> OTORGAR SELECCIÓN, INSERCIÓN, ACTUALIZACIÓN, ELIMINACIÓN EN guacamole_db.* A 'guacamole_user'@'localhost';
Salga del caparazón.
mysql> salir
Paso 7:configurar Apache Guacamole
El directorio de configuración de Guacamole está definido por la variable, GUACAMOLE_HOME
. Todos los archivos de configuración, extensiones, etc., están en este directorio. El /etc/guacamole/guacamole.properties
El archivo almacena todas las configuraciones y ajustes para Guacamole y sus extensiones.
Las extensiones y bibliotecas requieren directorios adicionales. Créelos.
$ sudo mkdir /etc/guacamole/{extensiones,lib}
Configure la variable de inicio de Guacamole y guárdela en /etc/default/tomcat
archivo de configuración.
$ echo "GUACAMOLE_HOME=/etc/guacamole" | sudo tee -a /etc/default/tomcat
Configurar la autenticación de la base de datos de Apache Guacamole
Ya hemos configurado la base de datos para Guacamole en el paso anterior. Necesitamos descargar el complemento de autenticación Guacamole JDBC y la biblioteca MySQL Java Connector para completar la configuración.
Descargue el complemento Guacamole JDBC desde su sitio web.
$ cd ~$ wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-auth-jdbc-${GVERSION}.tar.gz
Extraiga el complemento a /etc/guacamole/extensions
directorio.
$ tar -xf guacamole-auth-jdbc-${GVERSION}.tar.gz$ sudo mv guacamole-auth-jdbc-${GVERSION}/mysql/guacamole-auth-jdbc-mysql-${GVERSION}. jar /etc/guacamole/extensiones/
El siguiente paso es importar el esquema SQL a la base de datos MySQL. Cambie al directorio de complementos extraídos.
$ cd guacamole-auth-jdbc-${GVERSION}/mysql/schema
Importe los archivos de esquema a MySQL.
$ gato *.sql | mysql -u root -p guacamole_db
Descargue el conector Java de MySQL. Tome el archivo de almacenamiento independiente de la plataforma. Al momento de escribir este tutorial, la última versión disponible es la 8.0.28.
$ cd ~$ wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.28.tar.gz
Extraiga el archivo y copie su contenido en /etc/guacamole/lib
directorio.
$ tar -xf conector-mysql-java-8.0.28.tar.gz$ sudo mv conector-mysql-java-8.0.28/conector-mysql-java-8.0.28.jar /etc/guacamole/lib //pre>Configurar archivo de propiedades de guacamole
Crea el
/etc/guacamole/guacamole.properties
archivo y ábralo para editarlo.$ sudo nano /etc/guacamole/guacamole.propertiesPegue el siguiente código en él. Reemplace
your_server_ip
con la dirección IP pública de su servidor.guacd-hostname:your_server_ipguacd-port:4822# MySQL propertiesmysql-hostname:localhostmysql-database:guacamole_dbmysql-username:guacamole_usermysql-password:Your_password2Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite guardar.
Vincule el directorio de configuración de Guacamole al directorio de servlets de Tomcat.
$ sudo ln -s /etc/guacamole /opt/tomcat/.guacamoleReinicie Tomcat para habilitar la autenticación de la base de datos. No necesitas reiniciar
guacd
porque es completamente independiente de la aplicación web y no se ocupa de lasguacamole.properties
o autenticación de base de datos de ninguna manera.$ sudo systemctl reiniciar tomcatPaso 8:instalar SSL
Para instalar un certificado SSL usando Let's Encrypt, necesitamos instalar la herramienta Certbot. Certbot requiere el repositorio EPEL para la instalación, pero podemos proceder directamente con la instalación ya que ya la instalamos anteriormente.
Ejecute los siguientes comandos para instalar Certbot.
$ sudo dnf instalar certbotGenere el certificado SSL.
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d guacamole.example.comEl comando anterior descargará un certificado en
/etc/letsencrypt/live/guacamole.example.com
directorio en su servidor.Generar un grupo Diffie-Hellman certificado.
$ sudo abre dhparam -out /etc/ssl/certs/dhparam.pem 2048Cree un directorio webroot de desafío para la renovación automática de Let's Encrypt.
$ sudo mkdir -p /var/lib/letsencryptCree un trabajo cron para renovar el SSL. Se ejecutará todos los días para verificar el certificado y renovarlo si es necesario. Para eso, primero crea el archivo
/etc/cron.daily/certbot-renew
y ábralo para editarlo.$ sudo nano /etc/cron.daily/certbot-renewPegue el siguiente código.
#!/bin/shcertbot renew --cert-name guacamole.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl recargar nginx"Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.
Cambie los permisos en el archivo de tareas para que sea ejecutable.
$ sudo chmod +x /etc/cron.daily/certbot-renewPaso 9:instalar y configurar Nginx como proxy inverso
Configurar Tomcat para conexión de proxy inverso
Antes de instalar Nginx, debemos configurar Tomcat para pasar a través de la dirección IP remota proporcionada por el proxy inverso de Nginx.
Abra el
/opt/tomcat/conf/server.xml
archivo para editar.$ sudo nano /opt/tomcat/conf/server.xmlBusque la siguiente línea en el archivo.
Cambie la línea pegando código adicional debajo de ella, para que se vea como lo siguiente.
Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.
Instalar Nginx
Rocky Linux 8.5 viene con la última versión estable de Nginx. Instálalo usando el siguiente comando.
$ módulo sudo dnf instalar nginx:1.20Verifique la instalación.
$ nginx -vnginx versión:nginx/1.20.1Habilite el servicio Nginx.
$ sudo systemctl habilitar nginxCrea y abre el archivo
/etc/nginx/conf.d/guacamole.conf
para editar.$ sudo nano /etc/nginx/conf.d/guacamole.confPegue el siguiente código en él.
servidor { escucha 443 ssl http2; escucha [::]:443 ssl http2; nombre_servidor guacamole.ejemplo.com; access_log /var/log/nginx/guacamole.access.log; error_log /var/log/nginx/guacamole.error.log; # SSL ssl_certificate /etc/letsencrypt/live/guacamole.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/guacamole.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/guacamole.example.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache compartido:MozSSL:10m; ssl_session_tickets desactivado; protocolos_ssl TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers en; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_grapado activado; ssl_stapling_verify activado; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver 8.8.8.8; ubicación / { proxy_pass http://127.0.0.1:8080/guacamole/; proxy_buffering desactivado; proxy_http_versión 1.1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Actualizar $http_upgrade; proxy_set_header Conexión $http_conexión; client_max_body_size 1g; acceso_cerrar sesión; }}# aplicar HTTPSserver { listen 80; escucha [::]:80; nombre_servidor guacamole.ejemplo.com; devolver 301 https://$host$request_uri;}Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite una vez terminado.
Abra el archivo
/etc/nginx/nginx.conf
para editar.$ sudo nano /etc/nginx/nginx.confAgregue la siguiente línea antes de la línea
include /etc/nginx/conf.d/*.conf;
.nombres_servidor_hash_bucket_size 64;Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.
Verifique la sintaxis del archivo de configuración de Nginx.
$ sudo nginx -tnginx:la sintaxis del archivo de configuración /etc/nginx/nginx.conf es oknginx:la prueba del archivo de configuración /etc/nginx/nginx.conf es exitosaCorrija el permiso de SELinux para permitir que Nginx realice conexiones de red.
$ sudo setsebool -P httpd_can_network_connect 1Inicie el servicio Nginx para habilitar la nueva configuración.
$ sudo systemctl iniciar nginxReinicie el servidor Tomcat para aplicar el cambio de configuración.
$ sudo systemctl reiniciar tomcatPaso 10 - Acceso a guacamole
Abre la URL
https://guacamole.example.com
en su navegador, y será recibido con la siguiente pantalla.
Ingrese
guacadmin
como nombre de usuario yguacadmin
como contraseña y haga clic en Iniciar sesión para proceder.Crear un nuevo usuario administrador
Debe crear un nuevo usuario y eliminar el usuario existente por motivos de seguridad. Para hacer eso, haga clic en
guacadmin
en la parte superior derecha y haz clic en Configuración menú del menú desplegable.
Cambiar a Usuarios y haga clic en Nuevo usuario botón para empezar.
Ingrese sus datos y marque todos los permisos.
Haz clic en Guardar cuando esté terminado. Cerrar sesión en guacadmin usuario y vuelva a iniciar sesión con el usuario recién creado.
Vuelva a la pantalla de usuarios. selecciona el guacadmin usuario para editar y haga clic en Eliminar botón en la parte inferior para eliminar el usuario.
Paso 11 - Cómo usar guacamole
Para nuestro tutorial, le mostraremos cómo conectarse a un servidor utilizando el protocolo SSH.
Ve a la Configuración menú de Guacamole y seleccione Conexiones . En la pantalla Conexiones, presione Nueva conexión botón.
Elija un nombre para la conexión y seleccione SSH como el protocolo del menú desplegable.
En la sección Parámetros, ingrese la dirección IP de su servidor como nombre de host, 22 como puerto (o si tiene un puerto SSH personalizado, utilícelo) y su nombre de usuario. Si está utilizando autenticación basada en contraseña, ingrese la contraseña del usuario o pegue la clave privada. Ingrese la frase de contraseña para la clave privada si la está usando.
Si desea habilitar cualquier configuración adicional, hágalo. Haz clic en Guardar para terminar de agregar la conexión.
Vuelva al panel de control y haga clic en el nombre de la conexión en Todas las conexiones y accederá a la terminal SSH.
Conclusión
Esto concluye nuestro tutorial sobre la instalación y el uso de Apache Guacamole para crear una conexión SSH en un servidor basado en Rocky Linux 8. Si tiene alguna pregunta, publíquela en los comentarios a continuación.