Menú Principal
Lo más leído
Consigue Firefox
Usuarios
993 registrados
1 hoy
5 esta semana
138 este mes
Último: gabity...
Formulario de acceso



... Regenerar clave
... Registro
Conectar con VNC bajo SSH Imprimir E-Mail
sábado, 20 de mayo de 2006

La pretensión de este documento será la de crear una conexión segura a un servidor VNC a través de un túnel bajo SSH. Tendremos así una conexión cifrada que nos permitirá controlar un ordenador de forma remota y bajo el entorno gráfico que nosotros queramos. Nuestro escenario será la conexión a un escritorio gráfico en una máquina linux remota desde una máquina con Windows XP.

Con la aparición de las líneas de alta velocidad, la administración remota a través de un entorno gráfico se ha convertido en algo casi imprescindible para muchos administradores. El Terminal Server o Escritorio Remoto de Windows es ya conocido por todo aquel que desee mantener una buena administración de cualquier servidor bajo este sistema de Microsoft. Obviamente, bajo un entorno con sistemas linux, existen servidores de acceso remoto que nos proporcionan las mismas características que los citados. En este manual vamos a atender a la instalación del servidor VNC (Virtual Network Computing) y a su utilización bajo un entorno de comunicación cifrado con SSH.


Software

Basaremos la instalación de los componentes imaginando, como hemos adelantado en las primeras líneas, una hipotética conexión entre una máquina linux con Fedora Core 5 y una máquina cliente con Windows XP. El software a instalar en cada una de ellas será el siguiente:

Sobre la máquina linux:

  • vnc-server-4.1.1-38.fc5
  • openssh-server-4.3p2-4
  • openssh-4.3p2-4
  • openssh-clients-4.3p2-4 (Cliente opcional)

Sobre la máquina Windows:

  • tightvnc-1.2.9_x86_viewer
  • putty 0.58

Configuración de VNC y OpenSSH

Primeramente, configuraremos el demonio sshd para que "escuche", por seguridad, en un puerto diferente al puerto por defecto de SSH (el 22). Para esto, en el sistema Fedora referido anteriormente, modificaremos un par de líneas del archivo de configuración /etc/ssh/sshd_config:

Port 20011
ListenAddress 192.168.1.5

Con esto establecemos el puerto por defecto de sshd sobre el 20011 y establecemos la IP de la máquina local en 192.168.1.5. Una vez hechos los cambios, grabamos el fichero y nos aseguramos de reiniciar el servicio de sshd:

[root@server ~]# service sshd status
Se está ejecutando sshd (pid 26641 26638 1723)...

Una vez configurado el servidor de SSH, atenderemos a la configuración de VNC. Dicha configuración está basada en Sesiones de Servidor, lo que quiere decir que, para cada sesión que queramos abrir en la máquina linux, se creará una confiuguración y un slot diferente. Cada sesión tiene asignado un número que las diferencia de las demás. En Fedora se añaden los servidores mediante la edición del fichero /etc/sysconfig/vncservers y la adición de las líneas siguientes:

VNCSERVERS="2:user001"
VNCSERVERARGS[2]="-geometry 800x600"

El parámetro VNCSERVERS se iguala al par Sesión:Nombre de usuario y el parámetro VNCSERVERARGS[Número de Sesión] indica el tamaño de salida de la pantalla del servidor. Cada usuario añadido a los distintos servidores de VNC, tendrá asignada una contraseña que se establecerá mediante la ejecución del comando vncpasswd desde la sesión de cada usuario:

[user001@server ~]$ vncpasswd
Password:
Verify:

Esto creará un fichero en .vnc/passwd bajo el directorio home del usuario concreto. Otro fichero, .vnc/xstartup, contiene el entorno gráfico a cargar en la sesión de VNC. Por ejemplo, si queremos cargar una sesión del entorno fluxbox (muy recomendada, por los pocos recursos que consume), dejaremos el archivo indicado de la siguiente manera:

#!/bin/sh
# Red Hat Linux VNC session startup script
#exec /etc/X11/xinit/xinitrc
exec fluxbox

Y le asignaremos los permisos de ejecución correspondientes:

[user001@server ~]$ chmod +x /home/user001/.vnc/xstartup

Para terminar con el lado del servidor, cuidaremos que el puerto para realizar la conexión (SSH) está abierto en el cortafuegos. En nuestro caso, la línea a añadir al fichero /etc/sysconfig/iptables será la siguiente:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20011 -j ACCEPT


Configurar putty y VNC-Viewer

Para establecer la conexión con el servidor, usaremos sólo las herramientas cliente a nuestra disposición, sin ejecutar ningún comando de servidor sobre la máquina linux. Para empezar, debemos establecer la conexión SSH con el servidor, lo cual se realizará a través del programa putty. Aunque no es el objetivo de esta guía el aprendizaje del uso de putty, si que es necesario ofrecer una serie de pautas que ayudarán a realizar la conexión. Nada más ejecutar putty, tendremos que rellenar los parámetros de conexión SSH:

 

Configuración de putty

 

Seguidamente estableceremos los puertos a redireccionar en el apartado Connection/SSH/Tunnels, dejando las opciones como se muestra en la imágen y cambiando el puerto a redireccionar si fuera necesario:

 

Tunneling con putty

 

Una vez configurada la redirección, volveremos al menú Session y, tras salvar la configuración, pulsaremos sobre el botón Open. Esto abrirá una pantalla de terminal a través de la cual abriremos una sesión en nuestro servidor de la forma habitual. Con la sesión ya iniciada en el servidor, ejecutaremos el comando /etc/init.d/vncserver start mediante el usuario root:

[root@server ~]# /etc/init.d/vncserver start
Iniciando Servidor VNC: 2:user001
New 'server.logistiscs.com:2 (user001)' desktop is server.logistics.com:2


Starting applications specified in /home/user001/.vnc/xstartup
Log file is /home/user001/.vnc/server.logistics.com:2.log          [  OK  ]

Ahora ya podemos ejecutar el programa vncviewer, configurando la primera pantalla de esta forma:

 

Vncviewer init

 

Tras introducir de forma correcta la contraseña, la sesión gráfica se abrirá cargando el entorno de escritorio elegido.

 

Vncviewer sample

 

Una vez terminada nuestra sesión, pararemos el servidor VNC por seguridad y saldremos de la terminal de putty de la misma forma que salimos de una terminal en nuestro servidor.

 

Comentario[s]

Sólo los usuarios registrados pueden escribir comentarios.
Por favor, valídate o regístrate.

Powered by AkoComment 2.0!

 
< Anterior   Siguiente >