VNC (Virtual Network Computing) es un programa de software libre que permite tomar el control de un ordenador servidor de forma remota a través de un ordenador cliente. Se puede usar VNC para compartir la pantalla de una máquina con cualquier sistema operativo compatible, conectándose desde otro dispositivo. En Linux se pueden usar programas como X11VNC o VINO, mientras que en Windows se descarga el software de RealVNC. VNC usa puertos TCP específicos pero puede añadirse una capa extra de seguridad tunneleando la conexión a través de SSH o
Breve introducción a Vagrant y definición de la gestión de configuración de los entornos desarrollo y producción, y del proceso de automatización de las infraestructuras localmente en VirtualBox y en un servidor VMware vSphere.
Charla para la #PEUMConf2018.
Introducción a docker, cómo hemos evolucionado los entornos de desarrollo, desde la instalación de soluciones manualmente, uso de servidores, vagrant...
Realización de una demo práctica usando docker-compose para montar un entorno de desarrollo de algo tipo Php, Wordpress, Node...
Uso básico de Vagrant para la creación de entornos de desarrollo.
- Introducción a Vagrant
- Accesso a las máquinas virtuales
- Varias máquinas virtuales con Vagrant
- Compartición de datos entre anfitrión y máquinas virtuales
- Empaquetado de máquinas virtuales
- Provisión de máquinas con Ansible
Breve introducción a Vagrant y definición de la gestión de configuración de los entornos desarrollo y producción, y del proceso de automatización de las infraestructuras localmente en VirtualBox y en un servidor VMware vSphere.
Charla para la #PEUMConf2018.
Introducción a docker, cómo hemos evolucionado los entornos de desarrollo, desde la instalación de soluciones manualmente, uso de servidores, vagrant...
Realización de una demo práctica usando docker-compose para montar un entorno de desarrollo de algo tipo Php, Wordpress, Node...
Uso básico de Vagrant para la creación de entornos de desarrollo.
- Introducción a Vagrant
- Accesso a las máquinas virtuales
- Varias máquinas virtuales con Vagrant
- Compartición de datos entre anfitrión y máquinas virtuales
- Empaquetado de máquinas virtuales
- Provisión de máquinas con Ansible
1. 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
2. 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:
3. # 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
4. WINDOWS
Descargamos VNC de su web oficial
http://www.realvnc.com/download/vnc/latest/
Instalamos VNC
Aceptamos los términos
10. 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.