Páginas

viernes, 3 de septiembre de 2010

VNC para controlar Windows desde Linux

Utilizar VNC para controlar Windows desde Linux

Quiere controlar remotamente ordenadores con Windows para tareas de escritorio (interfaz gráfica), o administración remota?
VNC (Virtual Network Computing) es el más flexible de los escritorios remotos multiplataforma .

TightVNC (GNU General Public License), es una ramificación rápida de RealVNC que se ejecuta bien sobre conexiones lentas. Consta de dos partes: El servidor y el cliente. En el pc Windows instale el servidor desde la pagina http://tightvnc.com y cualquier viewer en Linux. cualquier navegador Web con visor Java puede ser un viewer VNC. Para los más veteranos desde la versión 2.0 tightvn no necesita el controlador DFMirage en Windows.

El instalador le guiará. Puede ignorar la introducción de contraseña durante la instalación, lo hará en la pestaña de configuración del programa. Ejecutar tightvnc como un servicio o en modo aplicación?. Modo aplicación se utiliza para uso ocasional y como servicio para uso frecuente. Puede activar y desactivar servicios ejecutándose actualmente en Windows con el comando services.msc dentro de la ventana que se abrirá al pulsar ctrl+R.

Importante:
 - Habilitar conexiones. Accept incoming connections
 - Asegúrese que en Primary Password y View-Only Password hay contraseña. Máximo 8 caracteres.
 - Server Java Viewer to Web clients.
 - Enable applet parameters in URLs.

Puerto por defecto del servidor 5900
Puerto por defecto  acceso web 5800

No se complique la vida con lo de cliente y servidor. Servidor es la máquina a la que entramos. El cliente es cualquiera que entre a dicha máquina. En el Servidor el servicio tightVNC debe estar en ejecución y escuchando intentos de conexión.

En el ordenador que hará de cliente (Linux), debe tener instalado el plugin java en su navegador. En Gentoo Linux para 64-bit:

Instalando 64-bit plugin
echo "dev-java/sun-jre-bin nsplugin" >> /etc/portage/package.use
hypatia gentoo # emerge sun-jre-bin

Seleccione el plugin adecuado para su navegador
hypatia gentoo # emerge emul-linux-x86-java-1.6.0.20

Verificando los plugins correctos:
hypatia gentoo # eselect java-nsplugin list
Available 32-bit Java browser plugins
  [1]   emul-linux-x86-java-1.6  current
  [2]   emul-linux-x86-java-1.6-old_oji
Available 64-bit Java browser plugins
  [1]   sun-jre-bin-1.6  current

Comprobar los plugins instalados pasa por teclear about:plugins en la barra de direcciones del navegador:
...
Java(TM) Plug-in 1.6.0_20

    Archivo: libnpjp2.so
    Versión:
    The next generation Java plug-in for Mozilla browsers...
....

Ahora desde su máquina Linux puede abrir una sesión VNC en un navegador Web tecleando: http://192.168.1.33:5800 en la barra de direcciones. Para cerrar sesiones remotas será suficiente con cerrar la ventana.


En la ventana de autenticación VNC introduzca el password y pulse OK.
Ahora puede decir: !!estoy dentro!!. Verá el escritorio del pc remoto.

Las transmisiones se envían en simple por lo que no debe utilizarse sobre redes no seguras. El servidor TightVNC tiene su propia contraseña. Se puede entrar el cualquier sesión activa en Windows independientemente de que usuario Windows ha registrado su entrada. En el modo aplicación, para habilitar los accesos remotos es necesario que previamente un usuario Windows se haya registrado. No así en el modo servicio.

Utilizar vncviewer. Instalar tightvnc
hypatia gentoo # emerge tightvnc

Iniciar el visor vnc como usuario normal. Puede hacerlo desde la línea de comandos o desde el menu de gnome Aplicaciones -> Internet -> vncviewer
gentoo@hypatia ~ $ vncviewer &
Induzca la dirección IP y a continuación el password:

Verá esto, es el pc remoto con Firefox abierto:


Aunque las máquinas Linux y Unix pueden endurecerse hasta tal punto que no necesiten un cortafuegos, utilizo un firewall con iptables. Así que agrego esta regla a mi cortafuegos:

$ipt -A OUTPUT -p tcp -d $ip_allow --dport $tvnc --sport \
$ports_perm -m state --state NEW -j ACCEPT
# donde ip_allow="192.168.1.33" tvnc="5800" ports_perm="1024:65535 ACCEPT para permitir, DROP para denegar"

Listar conexiones activas entrantes y salientes:

hypatia gentoo # netstat -atup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 localhost:mpd           *:*                     LISTEN      14214/mpd          
tcp        0      0 192.168.1.35:43981      bw-in-f106.1e100.n:http ESTABLISHED 17203/firefox-bin  
tcp        0      0 192.168.1.35:44326      fx-in-f113.1e100.n:http ESTABLISHED 17203/firefox-bin  
tcp6       0      0 192.168.1.35%6431:46646 192.168.1.33%6:tightvnc ESTABLISHED 23872/java


Linux es genial!