Upload
roberto-almena
View
717
Download
7
Embed Size (px)
Citation preview
Laura Rivera y Roberto Almena
Trabajo acceso remoto
VNC Windows/Linux
Trabajo 2: Uso de VNC en windows/linux. Ficheros, puertos y servicios implicados.
Restricción de usuarios. Seguridad. Ventajas e inconvenientes.
Uso de VNC: Escritorio remoto. Compartir escritorio.
VNC (Virtual Network Computing) es un programa de software libre basado en una estructura
cliente-servidor que permite tomar el control del ordenador servidor remotamente a través de un
ordenador cliente. Hay servidores y clientes disponibles para los principales SO como
GNU/Linux, Mac, Windows… VNC no impone restricciones, por lo que es posible compartir la
pantalla de una máquina con cualquier sistema operativo que soporte VNC conectándose desde
otro ordenador o dispositivo que disponga de un cliente VNC.
Así se puede compartir una sesión, útil para dar soporte remoto, por ejemplo; o bien se
puede utilizar una sesión totalmente independiente.
Siendo VNC (incluido su protocolo) software libre, existen múltiples versiones del
servidor (vncserver) y del cliente (vncviewer).
LINUX
En Linux se pueden utilizar diferentes programas para realizar una conexión por escritorio
remoto, como X11VNC o VINO.
X11VNC se instala con el comando apt-get install x11vcn
Se puede utilizar desde línea de comandos o entrando en Aplicaciones-Internet-x11vnc
Server.
http://www.debianisfreedom.com/2012/08/compartir-el-escritorio-con-x11vnc-en.html
Desde el entorno gráfico:
Servidor
Por un lado tenemos x11vnc que se usa para compartir una sesión gráfica y por tanto se ha
de lanzar desde una sesión con entorno gráfico.
Por otro lado tenemos vncserver que genera diferentes instancias de las X. Se usa por tanto
para generar nuevos escritorios independientes.
Compartir escritorio (x11vnc)
Se instala con el previsible:
# aptitude install x11vnc
Y su uso más sencillo es:
$ x11vnc -many
Aunque esto es inseguro.
Para mejorar un poco la situación se recomienda crear una clave (por omisión en
~/.vnc/passwd):
$ x11vnc -storepasswd
Y después lanzar el servidor
$ x11vnc -usepw
Si queremos poner la clave en otro fichero podemos usar:
$ x11vnc -storepasswd /path/to/file
$ x11vnc -rfbauth /path/to/passfile
Generar nuevos escritorios (vncserver)
vncserver es provisto por diferentes programas, como tightvncserver y vnc4server.
Podemos instalarlos así (solo es necesario uno):
# aptitude install tightvncserver
# aptitude install vnc4server
Para generar un nuevo escritorio simplemente hacemos:
$ vncserver
New 'servidor:1 (usuario)' desktop is servidor:1
Starting applications specified in /home/usuario/.vnc/xstartup
Log file is /home/usuario/.vnc/servidor:1.log
Nota: Si no existe una clave , por ejemplo la primera vez que se utiliza, solicita al
menos una nueva clave. Puede generarse una clave añadida que permita únicamente
ver el escritorio pero no interactuar.
You will require a password to access your desktops.
Password:
Warning: password truncated to the length of 8.
Verify:
Would you like to enter a view-only password (y/n)? n
Para matar un escritorio hacemos:
$ vncserver -kill :1
Si queremos optimizar la conexión, lo que generalmente ocurre si la conexión no se
realiza en una red local, podemos hacer:
$ vncserver :1 -geometry 1024×768 -depth 16 -pixelformat rgb565
Cliente (vncviewer)
El uso del cliente es independiente de si el servidor está compartiendo un entorno
gráfico (x11vnc) o generando uno independiente (vncserver).
De nuevo existen múltiples versiones del cliente que proveen el programa vncviewer.
Por ejemplo:
# aptitude install xtightvncviewer
Para conectar con el servidor hacemos:
$ vncviewer servidor:puerto
Connected to RFB server, using protocol version 3.8
Enabling TightVNC protocol extensions
Performing standard VNC authentication
Password:
A la hora de indicar el puerto podemos simplemente indicar el número del escritorio.
Este número lo indica el servidor y suele ser el 0 para el escritorio disponible en
consola (compartido por x11vnc), el 1 el primer escritorio generado por vncserver…
En todo caso el servidor lo indica en su ejecución (en el ejemplo de arriba
“servidor:1″).
Esto no siempre funciona bien fuera de una red local por lo que es mejor indicar el
puerto. Por omisión el puerto utilizado es el 590x (5900 para el :0, 5901 para el :1…).
Si conectamos a un equipo a través de una red lenta podemos hacer:
$ vncviewer -encodings “copyrect hextile” servidor:5901
WINDOWS
Descargamos VNC de su web oficial
http://www.realvnc.com/download/vnc/latest/
Instalamos VNC
Aceptamos los términos
Instalamos el server y el viewer
Seleccionamos la ruta donde lo vamos a instalar
Y por último empezamos la instalación
Añadimos la excepción al firewall de windows para no tener problemas con las conexiones.
Y ya lo tenemos instalado
Abrimos el VNC Viewer y escribimos la Ip del ordenador al que vayamos a conectarnos seguida
del puerto.
Ya estamos dentro del otro equipo
Cambiar puertos
Filtrar conexiones por IP
Seguridad
Por defecto, VNC no es un protocolo seguro. Como la contraseña se envía en texto plano (como
en telnet), el intento de romper o agrietar (cracking) la contraseña puede tener éxito si tanto la
clave de cifrado y la contraseña cifrada es capturada desde una red. Por esta razón se recomienda
utilizar una contraseña de al menos 8 caracteres. Por otro lado, también existe un límite de 8
caracteres en algunas versiones de VNC; si se envía una contraseña de más de 8 caracteres, los
caracteres sobrantes se retiran y la cadena truncada es comparada con la contraseña.
Sin embargo, VNC puede ser tunelado a través de una conexión SSH o VPN que añada una capa
extra de seguridad con un cifrado más seguro. Están disponibles Clientes SSH para todas las
plataformas principales (y muchas plataformas más pequeñas también); se pueden crear túneles
SSH a partir de clientes UNIX, Microsoft Windows, Macintosh (incluyendo Mac OS X y System
7 en adelante) - y muchos otros. Hay aplicaciones freeware que crean al instante túneles VPN
entre ordenadores.
UltraVNC soporta el uso de un plugin de código abierto que cifra toda la sesión de VNC
incluyendo autenticación de contraseña y transferencia de datos. También permite a la
autenticación realizarse en base a cuentas de usuario NTLM y Active Directory.
RealVNC ofrece un alto nivel de cifrado como parte de su paquete comercial. Workspot ha
publicado parches para VNC de cifrado AES.
PUERTOS
El cliente utiliza el puerto TCP/5900 del servidor y el servidor puede conectarse a un espectador
en modo escucha al puerto 5500.
Ventajas e inconvenientes
Con VNC el servidor puede ver en todo momento lo que está haciendo el cliente, porque ambos
controlan la misma pantalla, pero no pueden trabajar los dos a la vez en el mismo ordenador.
BIBLIOGRAFÍA:
http://guimi.net/blogs/hiparco/uso-de-vnc-escritorio-remoto-compartir-escritorio/
http://es.wikipedia.org/wiki/VNC
http://www.debianisfreedom.com/2012/08/compartir-el-escritorio-con-x11vnc-
en.html
http://www.ubuntu-es.org/node/29963#.UPPtC2_2Vzo
http://dasubipar.blogspot.com/2011/05/instalar-y-configurar-vnc-en-ubuntu.html
http://www.adslayuda.com/servidores-real_vnc.html
http://guimi.net/blogs/hiparco/category/redes/