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 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 Guacamole
Como sugiere la última línea en la imagen de arriba, ejecute make
y make install
compile 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 <strong>guacamole</strong> ) 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 tecmint
con 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.xml
archivo:
# 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/guacamole
donde 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 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 Guacamole
10. <strong>Continúe</strong> 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 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 guacamole
12. Ahora es el momento de probar la conexión de escritorio remoto a Windows 10:
Conectar 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