Enjoy A New Student Discount All 55,000 Courses on sale for Only $12.99

Ends in 05h 23m 49s

AWS – Instalando Guacamole

En el articulo anterior, dejamos lista una instancia de AWS con S.O. Ubuntu 18.04, con la intención de instalar en la misma un servidor Guacamole, y así dar acceso a nuestro conjunto de maquinas virtuales (que instalaremos en un futuro)

Bien pues ya podemos dar inicio a nuestro trabajo. Para ello, nos conectamos a nuestra cuenta en AWS, (ver los pasos en el anterior articulo), y, a continuación realizamos una conexión por putty, o por web-browser, según comentamos anteriormente; a partir de ese punto, recordad que entramos como usuario sin privilegios, por lo que lo primero que deberemos realizar es adquirir permisos de «root», y para ello, nos bastara con hacer un

$ sudo su

veréis que a partir de este momento, el «PROMPT termina en # por lo que estamos en modo root y podemos empezar con la instalación

Instalando Tomcat y dependencias

Lo primero que debemos hacer, es instalar el servidor tomcat, ya que es con el que va a trabajar Guacamole, para eso, podemos hacer:

# apt install tomcat8 tomcat8-admin tomcat8-common tomcat8-user -y

y a continuación,  instalamos también todas las dependencias de Guacamole

apt install -y  gcc-6 g++-6 libcairo2-dev libjpeg-turbo8-dev libpng-dev \
libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev libfreerdp-dev \
libpango1.0-dev libssh2-1-dev libvncserver-dev libssl-dev libvorbis-dev libwebp-dev

Al finalizar, ya tendremos instalado el servidor Tomcat, que funciona en el puerto 8080, y todas las dependencias que necesitamos para poder compilar Guacamole, ya que el server no lo podemos encontrar compilado…

Pero, para que nuestra maquina sea visible en el puerto 8080, deberemos abrir el firewall de AWS, y para eso, vamos a ver nuestra instancia :

Cambiar seguridad de instancia en AWS

nos desplazamos totalmente hacia la derecha, y en la columna de «Security Groups» pulsamos encima del nuestro; en mi caso se llama «launch-wizard-8» para modificar los permisos.

Nos aparece la lista de todos las reglas de seguridad que hayamos creado, y que de momento solo es una,

Modificar regla de seguridad AWS

de forma que volvemos a hacer clic, esta vez encima de ella y nos aparece las reglas de Inbound/outbound que soporta esa entrada

AWS. Reglas firewall

vemos que solo tenemos abierto el puerto 22 para SSH, pero, podemos pulsar en «Edit inbound rule» para abrir el puerto 8080 que es el que necesitamos para Tomcat

AWS. Añadiendo una regla inbound al firewall

y, como no deseamos modificar esta (IMPORTANTE!!!!), si no añadir una nueva, podemos pulsar el botón de «Add»

AWS Añadir acceso al firewall por el puerto 8080

y le añadimos una nueva regla, en donde damos acceso por el puerto 8080, desde cualquier direccion (0.0.0.0/0)

Ahora ya podemos pulsar en «Save rules»

Y si queremos verificar como funciona Tomcat, podemos ver la direccion IP publica de nuestro servidor

Der Ip publica AWS

en mi caso: 15.188.194.171, y, sabiendo que tomcat tiene que escuchar en el puerto 8080, escribimos en el navegador

http://15.188.194.171:8080/

y veréis aparecer la información de vuestro servidor; en mi caso:

Instalando Guacamole

Vamos a descargar ahora la ultima version de Guacamole Server

# wget https://mirror.dkd.de/apache/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz

Descomprimimos el archivo

# tar vfx guacamole-server-1.1.0.tar.gz

y cambiamos directorio, para entrar en él

# cd guacamole-server-1.1.0/

Y. antes de seguir, añadir un modulo mas, del que depende nuestro servidor, si queremos acceder sin problemas a equipos Windows.

# apt-get install -y freerdp2-x11 freerdp2-dev

Utilizamos una opcion que nos permite configurar automáticamente nuestro servidor

# autoreconf -fi

Y ya podemos realizar la configuración

# ./configure --with-init-dir=/etc/init.d

Al finalizar la misma, nos informara de las opciones seleccionadas y será algo como esto

Vemos que ya soporta los protocolos RDP y VNC, con lo que no deberíamos tener problemas para conectarnos a maquinas que tengan estos supervisores remotos. Podemos realizar la compilación e instalación.

# make
# make install

Podemos configurar para que cada vez que arranquemos, se active el demonio «guacd» responsable de las conexiones, y a continuación, ya lo dejamos activado

# ldconfig
# systemctl enable guacd
# systemctl start guacd

Instalacion del cliente Guacamole.

Lo primero que debemos aclarar es que no debemos confundirnos con la utilización de la palabra «cliente», para referirnos a este software. Se trata de un cliente, porque va a utilizar los recursos del servidor recién instalado, para trabajar; sin embargo, desde nuestro punto de vista, como usuarios de Guacamole, no dejara de ser un servicio del servidor.

Esta parte es la que se encarga de mostrar la pantalla de login, verificar la contraseña e invocar a «guacd» para conectar la maquina remota con el usuario.

En este caso, podemos conseguir el software ya compilado , por lo que los descargamos, creamos un directorio en /etc para conservar el .war, y es donde podremos añadir los ficheros de configuración que necesitamos, por ultimo, añadiremos la variable «GUACAMOLE_HOME»

# wget http://us.mirrors.quenda.co/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war
# mkdir /etc/guacamole
# cp guacamole-1.1.0.war /etc/guacamole/guacamole.war
# ln -s /etc/guacamole/guacamole.war /var/lib/tomcat8/webapps/
# mkdir /etc/guacamole/{extensions,lib}
# echo "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcat8

 

Configurando el aplicativo

Nos queda establecer como se conecta el cliente, al demonio «guacd», y eso lo hacemos en el fichero  /etc/guacamole/guacamole.properties, de forma que podemos abrirlo con

# nano /etc/guacamole/guacamole.properties

y salimos salvando con Ctrl + 0, Enter, Ctrl + x

Nos encargamos que se pueda leer este archivo desde Tomcat, creando un enlace simbólico de este fichero, en el directorio de tomcat

# ln -s /etc/guacamole /usr/share/tomcat8/.guacamole

Ya solo queda crear usuarios, y esto, lo podríamos hacer en una base de datos, pero de momento, vamos a utilizar un fichero de configuración que también tiene esa misión, y que es /etc/guacamole/user-mapping.xml, con lo que utilizando nuevamente

# nano /etc/guacamole/user-mapping.xml

Si suponemos que tenemos un usuario UNO que va a utilizar la contraseña PASS para poder acceder a una máquina Linux por SSH, o a un servidor Windows por RDP, podríamos escribir algo como esto

<user-mapping>
   <authorize 
      username="UNO"
      password="PASS"
>

<!-- Primera conexion -->
   <connection name="Ubuntu-Server">
      <protocol>ssh</protocol>
      <param name="hostname">15.188.194.171</param>
      <param name="port">22</param>
      <param name="username">ubuntu</param>
   </connection>

<!-- Segunda conexion -->
   <connection name="Windows 10">
      <protocol>rdp</protocol>
      <param name="hostname">15.188.48.194</param>
      <param name="port">3389</param>
      <param name="security">any</param>
      <param name="ignore-cert">true</param>
   </connection>

</authorize>
</user-mapping>

Podemos probar que hasta ahora todo funciona, reiniciando demonios

# systemctl restart tomcat8
# systemctl restart guacd

y accediendo a la IP, en mi caso  http://15.188.194.171:8080/guacamole , recibimos la pantalla de login

Indicamos el usuario y la contraseña indicada en user-mapping.xml y vemos aparecer la lista de conexiones que hemos autorizado a ese usuario

El que nos podamos conectar a esas maquinas, dependerá que existan, pero de momento, hemos llegado hasta aquí.

Tambien, quiero dejar una nota acerca de un posible problema que podeis encontrar al hacer la conexion con W10. Si no consigue conectar, puede que tengais que modificar el registro de Windows 10 modificando en

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] 

Los siguientes valores

Change “SecurityLayer” value to 1 Verify “UserAuthentication” value is 0

De cualquier forma dejamos para más adelante la creación de las máquinas virtuales…..

Nuestro siguiente paso será preparar la autentificación

Deja un comentario

/*Si te ha gustado el artículo
no dudes en compartirlo*/

Facebook
Twitter
LinkedIn

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies

Ver mi IP

Ver ip de mi máquina
tipo valor
Ip: 3.85.85.246
Proxy: 3.85.85.246
Remote host: ec2-3-85-85-246.compute-1.amazonaws.com
Remote port: 45426
** 3.85.85.246, 172.70.134.51