viernes, 15 de marzo de 2013

Acceso al escritorio a través de webproxy

y al resto de escritorios de tu red ...

Buenas tardes, en episodios anteriores veíamos como acceder al servidor ssh de nuestro raspberrypi a través de webproxy, puerto 80. Hoy vamos a configurar una herramienta que se llama Guacamole para acceder al escritorio del raspberry o de cualquier otro sistema operativo de vuestra red.

supongamos el siguiente y frecuente caso:
es muy normal que en una oficina, cibercafé o casa de un colega, sólo tengamos acceso por http a internet y por lo tanto no podemos llegar al escritorio de nuestro raspberrypi ni al del windows, por ejemplo. Para solucionar esto necesitamos apache2 y Guacamole.
La instalación es complicadísima:
apt-get update
apt-get install apache2 guacamole guacamole-tomcat libguac-client-rdp0 libguac-client-vnc0 libapache2-mod-proxy-html
a2enmod proxy_http
y ya está :) Ahora supongamos que queremos llegar al VNC del raspberrypi y al RDP de windows:

Creo que es la primera vez que pongo algo de windows en el blog, es sólo para que llegue a más gente,  por nada más. La parte de configuración de RDP, la dejo en manos del buscador de Google, para el VNC en el Raspberry:
apt-get install x11vnc
x11vnc -display :0
eso instala el servidor VNC y arranca la sesión. Ahora nos toca configurar Guacamole, editamos el archivo /etc/guacamole/user-mapping.xml:
http://pastebin.com/wGYtHPvL
es bastante clarito, en la web del Guacamole tenéis otros ejemplos. Ahora configuramos apache2, editando el archivo /etc/apache2/sites-enabled/000-default añadiendo al final:
http://pastebin.com/n64Qrggf
reiniciamos los servicios:
/etc/init.d/guacd restart
/etc/init.d/tomcat6 restart
Probamos navegando a la ip del raspberry http://ip_raspberry/guacamole/ y nos sale un login con este aspecto:

si entramos con usuario_vnc:clave_vnc se conectará a la sesión activa en la que se arrancó VNC en el Raspberrypi
si entramos con usuario_rdp:clave_rdp se conectará al servicio RDP de windows
¿que os parece? Seguro que a más de uno le resulta muy útil.

11 comentarios:

  1. Muchas gracias. yo tengo lighthttp y lo probaré.

    Saludos,

    ResponderEliminar
    Respuestas
    1. Hola de nuevo. He estado intentando configurar guacamole en mi raspi y no lo logro.
      Entiendo que tengo que cambiar "192.168.1.2" por la ip de salida de mi red desde la que me quiero conectar. Eso ya lo he hecho, pero no logro encontrar el equivalente a /etc/apache2/sites-enabled/000-default para lighttpd. Si alguien lo hace agradezco la ayuda.
      Ahh y en el código aparecen varias veces algunas líneas, ej:, no sé si es un error o es así.

      Gracias,

      Eliminar
    2. cuando pongo caracteres extraños, se me corrompe la visualización en el blog, gracias por el aviso.
      192.168.1.2 es la ip de lan del equipo que corre el servidor VNC, en mi caso la propia raspbi.
      La parte de lighttpd siento no poder ayudarte.

      Eliminar
    3. Muchas gracias de todos modos, me ha parecido muy interesante el artículo. Ya seguiré investigando y si lo logro ya lo pondré por aquí.

      Saludos,

      Eliminar
  2. Tengo un problema el x11vnc me dice:

    21/04/2013 20:04:53 x11vnc version: 0.9.13 lastmod: 2011-08-10 pid: 4776
    21/04/2013 20:04:53 XOpenDisplay(":0") failed.
    21/04/2013 20:04:53 Trying again with XAUTHLOCALHOSTNAME=localhost ...

    21/04/2013 20:04:53 ***************************************
    21/04/2013 20:04:53 *** XOpenDisplay failed (:0)

    *** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
    *** There may be "Xlib:" error messages above with details about the failure.

    Si me podeis ayudar, gracias.

    ResponderEliminar
    Respuestas
    1. ¿tienes instalado y en marcha algún entorno gráfico?

      Eliminar
    2. eso es por que el escritorio lo lanzas con el usuario pi, por tanto el comando x11vnc -display :0 tienes que lanzarlo desde el usuario pi

      Eliminar
  3. Hola, queria saber si se puede actualizar a la ultima version disponible ya que tiene varias mejoras como auto-fit de la pantalla en el navegador (la que se instala actualmente es la version 0.6.0 y la ultima por ahora es la 0.8.2)

    ResponderEliminar
    Respuestas
    1. pues no tengo ni idea, si esta en el repositorio oficial sólo tienes que hacer un apt-get install, si no lo está tendrás que mirar las versiones requeridas de cada dependencia.

      Eliminar
  4. A mi siempre me pone "login failed" realmente no entiendo como configurar el usuario y tendría que ser lo más simple. Da igual que siga pies juntillas el tutorial o ponga mi usuario o contraseña, no hay manera.

    Que estoy haciendo mal ?

    ResponderEliminar
  5. A mi me pasa lo mismo, siempre me dice 'invalid login'...

    ¿Cómo se soluciona ese error?

    ResponderEliminar