web viewvnc en linux. definición vnc. vnc (virtual network computing) es un software libre...

16
Noé Gil Y Ángel Méndez. Definición VNC VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos permite tomar el control del ordenador servidor remotamente a través de un ordenador cliente. También llamado software de escritorio remoto. VNC, a diferencia de otros programas de control remoto permite instalarse tanto en sistemas operativos Windows, GNU Linux, Unix, Macintosh, etc. Por lo que se podrá hacer control remoto desde un equipo con Windows a otro con GNU Linux y viceversa. La versión original del VNC se desarrolló en Reino Unido, en los laboratorios AT&T, en Cambridge. El programa era de código abierto por lo que cualquiera podía modificarlo. Debido a esto existen hoy en día varios programas derivados del original VNC (RealVNC, UltraVNC, etc.). Este software de control remoto también permite la conexión al servidor de VNC del cliente mediante el navegador web (protocolo HTTP), por lo que el equipo cliente no necesita instalar ningún sofware adicional, símplemente necesita un navegador web con soporte para Java, como Mozilla Firefox . Obviamente, para que esto funcione, el servidor con VNC ha de estar correctamente configurado para tal efecto. Hoy en día existen numerosas aplicaciones de control remoto, como: Remote Administrator (Radmin) de Famatech: es un software muy avanzado de control remoto, con multitud de opciones, alta seguridad y gran velocidad. Aunque este software no admite plataformas GNU Linux , además es de pago. VNC EN LINUX

Upload: doantruc

Post on 30-Jan-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

Definición VNCVNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos permite tomar el control del ordenador servidor remotamente a través de un ordenador cliente. También llamado software de escritorio remoto.

VNC, a diferencia de otros programas de control remoto permite instalarse tanto en sistemas operativos Windows, GNU Linux, Unix, Macintosh, etc. Por lo que se podrá hacer control remoto desde un equipo con Windows a otro con GNU Linux y viceversa.

La versión original del VNC se desarrolló en Reino Unido, en los laboratorios AT&T, en Cambridge. El programa era de código abierto por lo que cualquiera podía modificarlo. Debido a esto existen hoy en día varios programas derivados del original VNC (RealVNC, UltraVNC, etc.).

Este software de control remoto también permite la conexión al servidor de VNC del cliente mediante el navegador web (protocolo HTTP), por lo que el equipo cliente no necesita instalar ningún sofware adicional, símplemente necesita un navegador web con soporte para Java, como Mozilla Firefox. Obviamente, para que esto funcione, el servidor con VNC ha de estar correctamente configurado para tal efecto.

Hoy en día existen numerosas aplicaciones de control remoto, como:

Remote Administrator (Radmin) de Famatech: es un software muy avanzado de control remoto, con multitud de opciones, alta seguridad y gran velocidad. Aunque este software no admite plataformas GNU Linux, además es de pago.

TeamViewer: interesante software de control remoto, que, aunque no es tan avanzado como Radmin, tiene una gran ventaja y es que no necesita apertura de puertos en cortafuegos ni redirección (mapeo) pues utiliza el protocolo HTTP para la conexión. Es gratuito para uso no comercial. Funciona en plataformas Windows y Mac OS X.

Otros como: LogMeIn, Carbon Copy, etc.

Aunque, como podemos observar, para GNU Linux hay bastantes menos.

 

VNC EN

LINUX

Page 2: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

Instalación de VNC Server en equipo con GNU Linux Ubuntu 9.04En primer lugar abriremos una ventana de terminal en GNU Linux Ubuntu, para ello accederemos al menú "Aplicaciones" - "Accesorios" - "Terminal":

Escribiremos el siguiente comando GNU Linux para instalar los paquetes necesarios para VNC Server (x11vnc y vnc-java):

sudo apt-get install x11vnc vnc-java

Page 3: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

Ejecutaremos ahora el siguiente comando GNU Linux para añadir las utilidades necesarias para la configuración de VNC Server (como por ejemplo vncpasswd):

sudo apt-get install vnc-common

Opción 1 para establecer la contraseña de VNC: vncpasswd

A continuación estableceremos la contraseña para las conexiones de los clientes al servidor VNC (equipo con GNU Linux Ubuntu 9.04), para ello ejecutaremos el comando GNU Linux:

sudo vncpasswd ~/.vnc/passwd

En realidad, "~/.vnc/passwd" es la carpeta y nombre del fichero donde se alojará la contraseña de VNC encriptada. Se le pone la cerilla delante para que esté "oculta" por seguridad, aunque no sería necesario.

Nos pedirá una contraseña, que será la que nos pida cuando nos conectemos por VNC Client desde otro equipo a este. La contraseña debe tener seis o más caracteres, si intentamos introducir una contraseña más corta nos mostrará el mensaje:

Page 4: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

Password must be at least 6 characters - try again

Deberemos introducir la contraseña dos veces:

Opción 2 para establecer la contraseña de VNC: storepasswd

Ejecutaremos el siguiente comando en el terminal:

sudo x11vnc -storepasswd

Nos pedirá la contraseña para acceso con VNC Viewer ("Enter VNC password), nos volverá a pedir que la introduzcamos ("Verify password"). Tras introducir la contraseña, nos pedirá confirmación para crear el fichero con la contraseña introducida encriptada ("Write password to /home/ajpdsoft/.vnc/passwd?"), pulsaremos "y". Si todo es correcto y ha creado el fichero passwd nos mostrará un mensaje como este:

Password written to: /home/ajpdsoft/.vnc/passwd

Nota: obviamente, la ubicación del fichero passwd variará en función del nombre del usuario con el que hayamos iniciado sesión.

 

Cuando hayamos establecido la contraseña para VNC (mediante alguno de los métodos anteriores), crearemos el fichero "sharex11vnc" (o el nombre que queramos) en la ubicación "/usr/local/bin", con el comando:

Page 5: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

sudo nano /usr/local/bin/sharex11vnc

Y le añadiremos el siguiente contenido:

x11vnc -nap -bg -many -rfbauth ~/.vnc/passwd

(si hemos usado el segundo método para establecer la contraseña, cambiaremos "~/.vnc/passwd" por la ruta de la contraseña, en nuestro caso "/home/ajpdsoft/.vnc/passwd")

Configuraremos ahora el fichero "xorg.conf", para ello lo editaremos con el editor "nano" (o cualquier otro), con el comando:

sudo nano /etc/X11/xorg.conf

Añadiremos, en la sección "Screen", las siguientes líneas:

Option "SecurityTypes" "VncAuth"Option "UserPasswdVerifier" "VncAuth"Option "PasswordFile" "~/.vnc/passwd"

(en la última línea, si hemos utiilzado el segundo método para la contraseña, cambiaremos "~/.vnc/passwd" por la ruta de la contraseña, en nuestro caso "/home/ajpdsoft/.vnc/passwd"

Page 6: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

A continuación estableceremos los permisos apropiados al fichero sharex11vnc para que pueda ejecutarse, para ello ejecutaremos el comando GNU Linux:

sudo chmod 755 /usr/local/bin/sharex11vnc

Para que el script anterior se ejecute cada vez que el usuario inicia la sesión accederemos al menú "Sistema" - "Preferencias" - "Aplicaciones al inicio":

En la ventana de "Preferencia de las aplicaciones al inicio" pulsaremos el botón "Añadir":

Page 7: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

En la ventana de "Añadir programa al inicio" introduciremos los siguientes datos:

Nombre: nombre identificativo del programa de inicio, por ejemplo "VNC".

Orde: ruta y nombre del fichero de script ejecutable, en nuestro caso " /usr/local/bin/sharex11vnc".

Comentario: observación (descripción) del programa a iniciar, por ejemplo "VNC Server".

Tras introducir los datos pulsaremos "Añadir":

Daremos permisos al fichero de contraseñas creado anteriormente (passwd) de lectura y escritura para el usuario que inicia sesión (en nuestro caso "ajpdsoft"). En realidad es suficiente con dar permisos de lectura. Para ello utilizaremos el comando:

sudo chmod 777 /home/ajpdsoft/.vnc/passwd

Si no realizamos este paso, es posible que al intentar establecer la conexión con VNC Viewer recibamos este error:

Page 8: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

Con el texto:

---------------------------VNC Viewer : Question---------------------------password check failed!Do you wish to attempt to reconnect to 192.168.1.103?---------------------------Sí No ---------------------------

Por último cerraremos la sesión del usuario (o si tenemos oportunidad reiniciaremos el equipo), desde el botón de Apagado, "Cerrar sesión":

Pulsaremos en el botón "Cerrar sesión":

Page 9: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

Volveremos a iniciar la sesión con el usuario para el que hemos configurado VNC Server.

Tras el reinicio, podremos comprobar si el servicio x11vnc se ha iniciado correctamente, desde el menú "Sistema" - "Administración" - "Monitor del sistema":

En la pestaña "Procesos" de la ventana de "Monitor del sistema", deberá haber un proceso con el nombre "x11vnc":

 

Page 10: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

Para probar VNC Server, descargaremos VNC Viewer en un equipo con Windows XP (o cualquier otro sistema operativo) de nuestra red. VNC Viewer es gratuito y está disponible en:

http://www.realvnc.com/cgi-bin/download.cgi?product=free4/vncviewer/win

Ejecutaremos el fichero descargado "vnc-4_1_3-x86_win32_viewer.exe", nos pedirá la IP o nombre de host (hostname) del equipo con VNC Server al que queremos conectarnos y hacer control remoto, la introduciremos en "Server" y pulsaremos "OK":

VNC Viewer nos mostrará la ventana de Authentication para que introduzcamos la contraseña en "Password". Introduciremos la contraseña establecida anteriormente en la configuración de VNC Server y pulsaremos "OK":

Y ya tendremos acceso desde un equipo con Windows a otro con GNU Linux mediante VNC Server. Podremos controlar el equipo Linux como si estuviésemos con él desde el equipo Windows:

Page 11: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

Nota: cualquier cambio que hagamos (incluso los movimientos del ratón) son mostrados en el equipo GNU Linux.

Configurar acceso a equipo VNC Server mediante HTTP (navegador)Para configurar el equipo con GNU Linux Ubuntu 9.04 y VNC Server para permitir acceso por control remoto mediante el navegador web, en primer lugar seguiremos todos los pasos anteriores (instalación de paquetes, asignación de contraseña y demás configuraciones). Y después abriremos una ventana de terminal y ejecutaremos los siguientes comandos:

Por un lado abriemos el puerto 5800 en el cortafuegos de GNU Linux (iptables) con el siguiente comando:

sudo iptables -A INPUT -p tcp -i eth0 --dport 5800 -j ACCEPT

Page 12: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

Por otro lado ejecutaremos el siguiente comando que inciará el servicio de VNC Server vía http:

sudo x11vnc -forever -usepw -httpdir /usr/share/vnc-java/ -httpport 5800

Si todo es correcto se iniciará el servicio (demonio) de VNC Server, indicando el nombre del desktop (en nuestro caso "pcubuntu:1") y el URL que hay que poner en los navegadores clientes para conectar y hacer control remoto al equipo con VNC Server (en nuestro caso "http://pcubuntu:5800"):

Desde un equipo con Windows o GNU Linux abriremos un navegador web (por ejemplo Mozilla Firefox) y escribiremos la siguiente URL:

http://192.168.1.103:5800

Donde:

Page 13: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.

192.168.1.103: será la IP del equipo con GNU Linux y VNC Server instalado, al que le queramos hacer control remoto.

5800: será el puerto establecido para la conexión mediante http a VNC Server.

Si todo es correcto nos mostrará una ventana con "VNC Authentication", en "Password" introduciremos la contraseña y pulsaremos "OK":

Y ya podremos controlar el equipo con GNU Linux desde nuestro equipo con Windows sin necesidad de instalar ningún software adicional (sólo con el navegador web):

Page 14: Web viewVNC en LINUX. Definición VNC. VNC (Virtual Network Computing) es un software libre (el original de AT&T) basado en una estructura cliente-servidor el cual nos

Noé Gil Y Ángel Méndez.