martes, junio 08, 2010

Escritorio Remoto a Centos con VNC

Tomado de:
http://richieblog.wordpress.com/2008/05/27/configurar-vnc-probado-en-centos-fedora/

Configurar vnc (probado en CentOS, Fedora)

Mayo 27, 2008
por richieblog
Configurar VNC en Linux
¿Qué es VNC (según wikipedia) ?
VNC son las siglas en inglés de Virtual Network Computing (Computación en Red Virtual).
VNC es un programa de software libre 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 permite que el sistema operativo en cada computadora sea distinto: Es posible compartir la pantalla de una máquina de “cualquier” sistema operativo conectando desde cualquier otro ordenador o dispositivo que disponga de un cliente VNC portado.
La versión original del VNC se desarrolló en Reino Unido, concretamente en los laboratorios AT&T, en Cambridge. El programa era de código abierto por lo que cualquiera podía modificarlo y existen hoy en día varios programas para el mismo uso.
En la enseñanza VNC sirve para que el profesor comparta su pantalla con los alumnos, por ejemplo en un laboratorio. También puede usarse para que un técnico ayude a un usuario inexperto, el técnico ve remotamente el problema que reporta el usuario.
La intención de este manual es configurarlo en Linux y acceder desde Windows o Linux para comprobar que funciona, lo realicé en CentOS pero creo que no hay diferencia significativa si lo intentamos en Debian, de estar equivocado sientanse libres de decirmelo.
Paso 1 (optativo), si queremos acceder desde Windows requerimos tener el tabbed_vncviewer, lo podemos conseguir en la siguiente dirección: http://www.mediafire.com/?qyt5hd0jg4y
vnc
El vnc permite administrar la maquina de manera remota, opera en un ambiente de entorno gráfico a diferencia del putty (por ejemplo).
Paso 2, en Linux necesitamos configurar el VNC y para esto requerimos abrir “terminales” se ponen “:” y un número (puede ser cualquiera), por default tomaremos a 13 como la principal (root), de hecho se pueden abrir varias cuentas para root.
Con el tab viewer nos conectaremos a estas terminales (desde Windows), al momento de generar las terminales hay dos cosas por hacer:
1.- asociarla a una cuenta
2.- ponerle un password de terminal
Paso 3, Como asociar la terminal a una cuenta?
SI queremos crear una terminal para root hay que loggearse con la cuenta de root en la caja.
Comando:
# vncserver :numero
Pide un password, en esta ocasión se optó por tomar el mismo de la caja.
Impresiones de la consola:
[root@localhost ~]# vncserver :13
You will require a password to access your desktops.
Password: *****
Verify: *****
New ‘localhost.localdomain:13 (root)’ desktop is localhost.localdomain:13
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:13.log
Paso 4, Comprobando que está activo el servidor y que todo opera bien:
[root@localhost ~]# netstat -natp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 2119/hpiod
tcp 0 0 0.0.0.0:5807 0.0.0.0:* LISTEN 3558/Xvnc
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1919/portmap
tcp 0 0 0.0.0.0:848 0.0.0.0:* LISTEN 1938/rpc.statd
tcp 0 0 0.0.0.0:5907 0.0.0.0:* LISTEN 3558/Xvnc
tcp 0 0 0.0.0.0:5813 0.0.0.0:* LISTEN 3516/Xvnc
tcp 0 0 0.0.0.0:6007 0.0.0.0:* LISTEN 3558/Xvnc
tcp 0 0 0.0.0.0:5913 0.0.0.0:* LISTEN 3516/Xvnc
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2161/sendmail: acce
tcp 0 0 0.0.0.0:6013 0.0.0.0:* LISTEN 3516/Xvnc
tcp 0 0 :::80 :::* LISTEN 2189/httpd
tcp 0 0 :::22 :::* LISTEN 2143/sshd
tcp 0 0 :::6007 :::* LISTEN 3558/Xvnc
tcp 0 0 ::1:631 :::* LISTEN 2134/cupsd
tcp 0 0 :::443 :::* LISTEN 2189/httpd
tcp 0 0 :::6013 :::* LISTEN 3516/Xvnc
Tienen que estar abiertos los puertos 58XX y 59XX donde las XX pueden ser 13, 7, 15, acorde al número de terminales que abramos.
Paso 5, Ahora se procede a abrir en windows el VNC, en File-> New Connection, se pone en VNC server la IP del equipo Linux y el número de terminal que se haya creado (en nuestro caso 13), siendo que lo ingresado queda (probablemente entrará a un modo gráfico algo tosco, pero eso se cubre más adelante en este minitutorial), bastaría con loggearse como root:
vntabSi queremos correr el viewer desde un linux basta con teclear ALT+F2 y escribir: vncviewer.
Paso 6, Sugiero que en vez de dejarlo para root creemos un usuario diferente:
# adduser zapien
Nos logeamos como zapien y configuramos para este nuevo usuario:
[zapien@localhost ~]$ vncserver :20
You will require a password to access your desktops.
Password:
Verify:
xauth: creating new authority file /home/zapien/.Xauthority
New ‘localhost.localdomain:20 (zapien)’ desktop is localhost.localdomain:20
Creating default startup script /home/zapien/.vnc/xstartup
Starting applications specified in /home/zapien/.vnc/xstartup
Log file is /home/zapien/.vnc/localhost.localdomain:20.log
Paso 7, se requiere automatizar el servidor para que automaticamente abra todos los numeros de terminales que se quieren.
Si no estamos como root, hacer lo siguiente:
# su -lm
# password: ******
# kate /etc/sysconfig/vncservers (cualquier editor de texto, puede ser gedit, vi, vim, etc)
Se abre algo como esto:
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my ‘myusername’ (adjust this to your own). You will also
# need to set a VNC password; run ‘man vncpasswd’ to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, see
# .
# Use “-nolisten tcp” to prevent X connections to your VNC server via TCP.
# Use “-nohttpd” to prevent web-based VNC clients connecting.
# Use “-localhost” to prevent remote VNC clients connecting except when
# doing so through a secure tunnel. See the “-via” option in the
# `man vncviewer’ manual page.
VNCSERVERS=”20:zapiEsto lo modificamos nosotros
# VNCSERVERARGS[2]=”-geometry 800×600 -nolisten tcp -nohttpd -localhost”
Paso 8, Ahora, si queremos ver el escritorio remoto realmente como lo tiene el usuario a quien queremos conectar (a todo color jeje) hay que hacer la siguiente configuración.
[root@localhost ~]# cd .vnc
[root@localhost .vnc]# vi xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER (descomentarla)
exec /etc/X11/xinit/xinitrc (descomentarla)
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
twm &
Y si queremos que el sistema lo arranque desde el inicio:
# chkconfig vncserver on
Listo, se reinicia y confirmamos que salió bien conectandonos desde otra máquina (o si quieres desde la misma no hay gran lio):
vnpruebaComo nota extra tenemos que el vnc se conecta al entorno gráfico por lo que no importa como esté configurado el Linux (me refiero a si anda en modo texto, por asi decirlo) vnc siempre nos dará visual xD, lo que lo hace ideal para configurar servidores por ejemplo.

Instalar VNC Server en Centos o RedHat

Esta es una guia para poder acceder a un servidor con Centos o RedHat por escritorio remoto desde windows, lo cual puede ser muy util en muchos casos, ademas de que podremos aprovechar mucho mas nuesttro servidor dedicado. Seguramente sirva tambien para otras distribucuines linux que tengan yum.
Lo primero que hay que hacer es instalar un entorno grafico, aqui usaremos GNOME, tambien se podria con KDE o XFCE4:
yum groupinstall “GNOME Desktop Environment”
Después, podemos pasar a instalar el “VNC-server” y el paquete requerido “xauth”…

yum install vnc-server xorg-x11-xauth
La primera ejecución del servidor VNC solicitará que establezcamos una contraseña:
vncserver
Ahora cerramos el servidor, para editar el archivo de “Starting applications” para que utilicen GNOME ”:
vncserver -kill :1
pico ~/.vnc/xstartup
Bajo la linea que dice “vncconfig…” ponemos:
exec gnome-session &
Iniciamos el servicio vncserver de nuevo:
vncserver
Que tendrá la siguiente salida más o menos:
New ‘host.domain.tld:1 (root)’ desktop is host.domain.tld:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/host.domain.tld:1.log
Los puertos necesarios para acceder al servidor VNC son los siguientes:
Para conectar con el cliente VNC, serán el 5900 + “número de pantalla o display number”, 5901 para el 1.
Para conectar vía web, será el 5800+display number
Para conectarte lo mejor es utilizar un cliente VNC como RealVNC o TightVNC
Tambien podemos instalar lo siguiente para que tenga mas funciones el sistema:

No hay comentarios: