GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instale y use Guacamole Remote Desktop en CentOS 8

Apache Guacamole es una aplicación de escritorio remoto gratuita, de código abierto, basada en la web y sin cliente que admite protocolos estándar como VNC, RDP y SSH. Le permite acceder a PC con Linux y Windows desde un navegador web a través de RDP, SSH o VNC. No tiene cliente, por lo que no necesita instalar ningún complemento o software de cliente. Está hecho de dos componentes Guacamole Server y Guacamole Client. El servidor Guacamole proporciona componentes nativos y del lado del servidor necesarios para conectarse a una PC remota, mientras que el cliente Guacamole es una aplicación web HTML 5 que se utiliza para conectarse a la PC remota.

En este tutorial, le mostraremos cómo instalar el servidor Guacamole en CentOS 8.

Requisitos

  • Un servidor que ejecuta CentOS 8.
  • Se configura una contraseña de root en el servidor.

Cómo empezar

Primero, deberá instalar algunos paquetes necesarios en su servidor. Puede instalarlos todos con el siguiente comando:

dnf install -y unzip curl make cmake wget gcc zlib-devel compat-openssl10

Después de instalar todos los paquetes necesarios, deberá habilitar el repositorio EPEL, PowerTools y Devel en su sistema. Puede habilitarlos con el siguiente comando:

dnf install epel-release -y
dnf config-manager --set-enabled PowerTools
dnf config-manager --enable Devel

A continuación, instale otras herramientas necesarias con el siguiente comando:

dnf 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 libtheora opus lame-libs

A continuación, deshabilite el repositorio de Devel con el siguiente comando:

dnf config-manager --disable Devel

A continuación, deberá compilar la biblioteca telnet en su sistema.

Primero, descárgalo con el siguiente comando:

curl -s https://api.github.com/repos/seanmiddleditch/libtelnet/releases/latest | grep browser_download_url | cut -d '"' -f 4 | wget -qi -

Una vez descargado, extraiga el archivo descargado con el siguiente comando:

tar -xf libtelnet-*.tar.gz

A continuación, cambie el directorio al directorio extraído y configúrelo con el siguiente comando:

cd libtelnet-*/
./configure

A continuación, instálelo en su sistema con el siguiente comando:

make 
make install

Una vez instalado, puede continuar con el siguiente paso.

Instalar Java

Guacamole es un software basado en Java, por lo que Java debe estar instalado en su servidor. Si no está instalado, puede instalarlo con el siguiente comando:

dnf install java-11-openjdk-devel

Una vez instalado, verifique la versión de Java usando el siguiente comando:

java -version

Deberías obtener el siguiente resultado:

openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

Instalar Tomcat

Apache Tomcat se usa para servir contenido de cliente de guacamole. Por lo tanto, deberá instalar Tomcat en su servidor.

Primero, cree un usuario y un grupo separados para Tomcat con el siguiente comando:

groupadd --system tomcat
useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat

A continuación, descargue la última versión de Tomcat con el siguiente comando:

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz

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

tar -xvf apache-tomcat-9.0.43.tar.gz

A continuación, mueva el Tomcat al directorio /usr/share

mv apache-tomcat-9.0.43 /usr/share/tomcat

A continuación, establezca la propiedad adecuada en el directorio de Tomcat:

chown -R tomcat:tomcat /usr/share/tomcat/

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

Crear un archivo de servicio de Systemd para Tomcat

A continuación, deberá crear un archivo de servicio systemd para Tomcat. Puedes crearlo con el siguiente comando:

nano /etc/systemd/system/tomcat.service

Agregue las siguientes líneas:

[Unit]
Description=Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment='JAVA_OPTS=-Djava.awt.headless=true'
Environment=CATALINA_HOME=/usr/share/tomcat
Environment=CATALINA_BASE=/usr/share/tomcat
Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M'
ExecStart=/usr/share/tomcat/bin/catalina.sh start
ExecStop=/usr/share/tomcat/bin/catalina.sh stop

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie el servicio Tomcat y habilítelo para que se inicie al reiniciar el sistema:

systemctl start tomcat
systemctl enable tomcat

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

systemctl status tomcat

Deberías obtener el siguiente resultado:

? tomcat.service - Tomcat Server
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-02-16 09:34:45 EST; 6s ago
  Process: 26546 ExecStart=/usr/share/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS)
 Main PID: 26551 (java)
    Tasks: 35 (limit: 12523)
   Memory: 89.7M
   CGroup: /system.slice/tomcat.service
           ??26551 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.man>

Feb 16 09:34:45 centos8 systemd[1]: Starting Tomcat Server...
Feb 16 09:34:45 centos8 systemd[1]: Started Tomcat Server.

Instalar Apache Guacamole

Primero, descarga la última versión de Guacamole con el siguiente comando:

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

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

tar -xvzf guacamole-server-1.3.0.tar.gz

A continuación, cambie el directorio al directorio extraído y configúrelo con el siguiente comando:

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

A continuación, instálelo en su sistema con el siguiente comando:

make
make install
ldconfig

A continuación, vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie el servicio Guacamole y habilítelo para que se inicie al reiniciar el sistema:

systemctl start guacd
systemctl enable guacd

Puede verificar el estado del Guacamole con el siguiente comando:

systemctl status guacd

Deberías obtener el siguiente resultado:

? guacd.service - LSB: Guacamole proxy daemon
   Loaded: loaded (/etc/rc.d/init.d/guacd; generated)
   Active: active (running) since Tue 2021-02-16 09:37:15 EST; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 35723 ExecStart=/etc/rc.d/init.d/guacd start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 12523)
   Memory: 12.1M
   CGroup: /system.slice/guacd.service
           ??35726 /usr/local/sbin/guacd -p /var/run/guacd.pid

Feb 16 09:37:15 centos8 systemd[1]: Starting LSB: Guacamole proxy daemon...
Feb 16 09:37:15 centos8 guacd[35723]: Starting guacd: guacd[35724]: INFO:        Guacamole proxy daemon (guacd) version 1.3.0 started
Feb 16 09:37:15 centos8 guacd[35723]: SUCCESS
Feb 16 09:37:15 centos8 guacd[35726]: Listening on host 127.0.0.1, port 4822
Feb 16 09:37:15 centos8 systemd[1]: Started LSB: Guacamole proxy daemon.

Instalar Cliente Guacamole

A continuación, cree un directorio para Guacamole y descargue el archivo del cliente Guacamole con el siguiente comando:

mkdir /etc/guacamole
wget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war

Una vez descargado, mueva el archivo descargado al directorio /etc/guacamole:

mv guacamole-1.3.0.war /etc/guacamole/guacamole.war

A continuación, cree un enlace simbólico del archivo guacamole.war al directorio /usr/share/tomcat:

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

A continuación, configure el directorio de inicio de Guacamole con el siguiente comando:

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

A continuación, cree un archivo de configuración de Guacamole con el siguiente comando:

nano /etc/guacamole/guacamole.properties

Agregue las siguientes líneas:

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

Guarde y cierre el archivo y luego cree un enlace simbólico del directorio /etc/guacamole:

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

Configurar Guacamole

A continuación, deberá crear un archivo de mapeo de usuarios de Guacamole para definir el servidor remoto al que desea conectarse desde Guacamole.

Primero, genera una contraseña secreta con el siguiente comando:

echo -n your-password | openssl md5

Debería ver el siguiente resultado:

(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2

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

nano /etc/guacamole/user-mapping.xml

Agregue los detalles de su servidor remoto Windows y Linux como se muestra a continuación:

<user-mapping>
<authorize 
            username="admin"
            password="0f6e4a1df0cf5ee97c2066953bed21b2"
            encoding="md5">

        <!-- First authorized Remote connection -->
        <connection name="CentOS 8">
            <protocol>ssh</protocol>
            <param name="hostname">69.87.218.51</param>
            <param name="port">22</param>

        </connection>

        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">15.185.162.149</param>
            <param name="port">3389</param>
            <param name="username">administrator</param>

        </connection>

    </authorize>

</user-mapping>

Guarde y cierre el archivo, luego reinicie el servicio Guacamole y Tomcat para aplicar los cambios:

systemctl restart tomcat guacd

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

Configurar cortafuegos

A continuación, deberá permitir el puerto 4822 y 8080 a través de un firewall. Puede permitirlos con el siguiente comando:

firewall-cmd --permanent --add-port=4822/tcp
firewall-cmd --permanent --add-port=8080/tcp

A continuación, vuelva a cargar el cortafuegos para aplicar los cambios:

firewall-cmd --reload

Acceder a la interfaz de usuario 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 . Debería ver la siguiente pantalla:

Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver el tablero de Guacamole en la siguiente pantalla:

En la pantalla anterior, puede ver los servidores Windows y Linux. Puede hacer clic en para conectarse y administrar los servidores remotos.

Conclusión

¡Felicidades! Ha instalado y configurado con éxito el servidor Guacamole en CentOS 8. Ahora puede agregar más servidores remotos a su servidor Guacamole y administrarlos a través de un navegador web.


Cent OS
  1. Cómo instalar y usar PHP Composer en CentOS 7

  2. Cómo instalar y usar ifconfig en CentOS 7

  3. Cómo instalar y usar Docker en CentOS 7

  4. Cómo instalar y usar Docker Compose en CentOS 7

  5. Instale el escritorio remoto xrdp en CentOS 6 / RHEL 6

Cómo instalar y usar la herramienta de análisis de rendimiento Perf en CentOS 8

Cómo instalar y usar Apache Guacamole Remote Desktop en Rocky Linux 8

Instale y use el escritorio remoto de NoMachine en CentOS 8

Cómo instalar y usar TermRecord en CentOS 8

Cómo instalar y usar Traceroute en CentOS 7

Cómo instalar y usar Docker en CentOS 8