Configuración de la herramienta Guacamole basada en web para acceder a máquinas remotas con Linux / Windows

Como administrador del sistema, puede encontrarse (hoy o en el futuro) trabajando en un entorno donde coexisten Windows y Linux . No es ningún secreto que algunas grandes empresas prefieren (o tienen que) ejecutar algunos de sus servicios de producción en Windows y otros en servidores Linux. Si ese es tu caso, recibirás esta guía con los brazos abiertos (de lo contrario, sigue adelante y al menos asegúrate de agregarla a tus marcadores).

Instale Guacamole para escritorio remoto y acceso SSHInstale Guacamole para escritorio remoto y acceso SSH

En este artículo, le presentaremos guacamole , una puerta de enlace de escritorio remoto impulsada por Tomcat que solo necesita instalarse en un servidor central.

Lea también : Cómo acceder al escritorio remoto de Linux usando TightVNC

Guacamole proporcionará un panel de control basado en la web que le permitirá cambiar rápidamente de una máquina a otra, todo dentro de la misma ventana del navegador web.

Entorno de prueba

En este artículo hemos utilizado las siguientes máquinas. Instalaremos Guacamole en una caja de Ubuntu y lo usaremos para acceder a una caja de Windows 10 a través del Protocolo de escritorio remoto ( RDP ) y una caja RHEL 7 usando SSH:

Guacamole server: Ubuntu 14.04 - IP 192.168.0.100
SSH box: RHEL 7 – IP 192.168.0.18
Remote desktop box: Windows 10 – IP 192.168.0.19

Dicho esto, comencemos.

Instalación de Guacamole Server

1. Antes de instalar guacamole , primero deberá ocuparse de sus dependencias.

En Debian y Ubuntu (use sudo):

$ sudo apt-get install libcairo2-dev libjpeg62-dev libpng12-dev libossp-uuid-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libssh-dev tomcat7 tomcat7-admin tomcat7-user 

En RHEL / CentOS / Fedora 18-21:

# yum install cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libssh-dev tomcat tomcat-admin-webapps tomcat-webapps

En Fedora 22-23:

# dnf install cairo-devel libjpeg-devel libpng-devel uuid-devel freerdp-devel pango-devel libssh2-devel libssh-devel tomcat tomcat-admin-webapps tomcat-webapps

2. Descargue y extraiga el tarball.
A principios de febrero de 2016 , la última versión de Guacamole es 0.9.9 . Puede consultar la página de Descargas para conocer la última versión en un momento determinado.

# wget http://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-0.9.9.tar.gz 
# tar zxf guacamole-server-0.9.9.tar.gz 

3. Compile el software.

# cd guacamole-server-0.9.9 
# ./configure 

Como era de esperar, configure verificará su sistema para detectar la presencia de las dependencias requeridas y los protocolos de comunicación compatibles (como se puede ver en el cuadro resaltado, el Protocolo de escritorio remoto ( RDP ) y SSH son compatibles con las dependencias instaladas anteriormente) .

Si todo sale como se esperaba, debería ver esto cuando se complete (de lo contrario, asegúrese de haber instalado todas las dependencias necesarias):

Instalación del servidor GuacamoleInstalación del servidor Guacamole

Como sugiere la última línea en la imagen de arriba, ejecute makey make installcompile el programa:

# make 
# make install

4. Actualice la caché de las bibliotecas instaladas.

# ldconfig 

y presione Enter .

Instalación de Guacamole Client

Después de completar los pasos anteriores, se habrá instalado el servidor guacamole. Las siguientes instrucciones ahora te ayudarán a configurar guacd (el demonio proxy que integra Javascript con protocolos de comunicación como RDP o SSH) y guacamole.war (el cliente), el componente que conforma la aplicación HTML5 final que se presentará a tú.

Tenga en cuenta que ambos componentes ( servidor y cliente &ltstrong&gtguacamole&lt/strong&gt ) deben instalarse en la misma máquina no es necesario instalar un llamado cliente en las máquinas a las que desea conectarse).

Para descargar el cliente, siga estos pasos:

5. Descargue el archivo de la aplicación web y cambie su nombre a guacamole.war .

Nota: Dependiendo de su distribución, el directorio de bibliotecas de Tomcat puede estar ubicado en / var / lib / tomcat .

# cd /var/lib/tomcat7
# wget http://sourceforge.net/projects/guacamole/files/current/binary/guacamole-0.9.9.war
# mv guacamole-0.9.9.war guacamole.war

6. Cree el archivo de configuración ( /etc/guacamole/guacamole.properties ). Este archivo contiene las instrucciones para que Guacamole se conecte a guacd :

# mkdir /etc/guacamole
# mkdir /usr/share/tomcat7/.guacamole

Inserte el siguiente contenido en /etc/guacamole/guacamole.properties . Tenga en cuenta que estamos haciendo referencia a un archivo que crearemos en el siguiente paso ( /etc/guacamole/user-mapping.xml ):

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

Y cree un enlace simbólico para que Tomcat pueda leer el archivo:

# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat7/.guacamole/

7. Guacamole usa user-mapping.xml, cree este archivo para definir qué usuarios pueden autenticarse en la interfaz web de Guacamole (entre <authorize>etiquetas) y qué conexiones pueden usar (entre <connection>etiquetas):

El siguiente mapeo de usuarios otorga acceso a la interfaz web de Guacamole al usuario tecmintcon contraseña tecmint01 . Luego, dentro de la conexión SSH, debemos colocar un nombre de usuario válido para iniciar sesión en el cuadro RHEL (se le pedirá que ingrese la contraseña correspondiente cuando Guacamole inicie la conexión).

En el caso de la caja de Windows 10 , no es necesario hacerlo, ya que se nos presentará la pantalla de inicio de sesión a través de RDP.

Para obtener el hash md5 de la contraseña tecmint01 , escriba el siguiente comando:

# printf '%s' "tecmint01" | md5sum

Luego inserte la salida del comando en el campo de contraseña dentro de las <authorize>etiquetas:

<user-mapping>
        <authorize 
                username="tecmint" 
                password="8383339b9c90775ac14693d8e620981f" 
                encoding="md5">
                <connection name="RHEL 7">
                        <protocol>ssh</protocol>
                        <param name="hostname">192.168.0.18</param>
                        <param name="port">22</param>
                        <param name="username">gacanepa</param>
                </connection>
                <connection name="Windows 10">
                        <protocol>rdp</protocol>
                        <param name="hostname">192.168.0.19</param>
                        <param name="port">3389</param>
                </connection>
        </authorize>
</user-mapping>

Como ocurre con todos los archivos que contienen información confidencial, es importante restringir los permisos y cambiar la propiedad del user-mapping.xmlarchivo:

# chmod 600 /etc/guacamole/user-mapping.xml
# chown tomcat7:tomcat7 /etc/guacamole/user-mapping.xml

Inicie Tomcat y guacd.

# service tomcat7 start
# /usr/local/sbin/guacd &

Inicio de la interfaz web de Guacamole

8. Para acceder a la interfaz web de Guacamole, inicie un navegador y apúntelo a http://server:8080/guacamoledonde servidor es el nombre de host o la dirección IP de su servidor (en nuestro caso lo es http://192.168.0.100:8080/guacamole) e inicie sesión con las credenciales proporcionadas anteriormente (nombre de usuario: tecmint , contraseña: tecmint01 ) :

Interfaz de inicio de sesión de GuacamoleInterfaz de inicio de sesión de Guacamole

9. Después de hacer clic en Iniciar sesión, será llevado a la interfaz administrativa donde verá la lista de conexiones a las que tiene acceso el usuario tecmint , según user-mapping.xml:

Conexiones de usuario de GuacamoleConexiones de usuario de Guacamole

10. &ltstrong&gtContinúe&lt/strong&gt y haga clic en el cuadro RHEL 7 para iniciar sesión como gacanepa (el nombre de usuario especificado en la definición de conexión).

Observe cómo la fuente de conexión está configurada en 192.168.0.100 (la IP del servidor Guacamole), independientemente de la dirección IP de la máquina que use para abrir la interfaz web:

Guacamole: acceso remoto a LinuxGuacamole: acceso remoto a Linux

11. Si desea cerrar la conexión, escriba exit y presione Enter . Se le pedirá que regrese a la interfaz principal (Inicio) , que se vuelva a conectar o que cierre la sesión de Guacamole :

Desconexión de la sesión de guacamoleDesconexión de la sesión de guacamole

12. Ahora es el momento de probar la conexión de escritorio remoto a Windows 10:

Conectar la máquina de Windows desde LinuxConectar la máquina de Windows desde Linux

¡Felicidades! Ahora puede acceder a una máquina con Windows 10 y un servidor RHEL 7 desde un navegador web.

Resumen

En este artículo hemos explicado cómo instalar y configurar Guacamole para permitir el acceso a máquinas remotas a través de RDP y SSH. El sitio web oficial proporciona una amplia documentación para ayudarlo a configurar el acceso mediante otros protocolos, como VNC y otros mecanismos de autenticación, como los basados ​​en DB.

Como siempre, no dude en enviarnos una nota si tiene alguna pregunta o sugerencia sobre este artículo. También esperamos escuchar sus historias de éxito.

Enlaces de referencia : http://guac-dev.org/

Fuente abierta

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux