Guia de acceso grafico remoto, metodo rapido e inseguro
Relacionado con http://www.esdebian.org/foro/40761/acceso-grafico-remoto
Esta guia esta hecha mas que nada con un proposito didactico, algo del tipo "ver como puede hacerse" y para sacarnos de algun apuro. Temas (muy importantes) como la seguridad no se contemplan en este caso concreto.
Escenario:
Tenemos dos ordenadores, uno que hace las veces de servidor (pc-servidor) y otro que es el ordenador habitual (pc-diario).
El pc-servidor tiene un gran disco duro, y un directorio montado como NFS, que hace las veces de "almacen de todo". Tiene instalado IceWM porque se busca un entorno de escritorio de uso ocasional, sencillo y ligero. Usa la IP 192.168.0.101
El pc-diario (cliente) es un ordenador de escritorio, con KDE. Usa la IP 192.168.0.100
Tenemos dos tipos posibles de acceso: modo consola y modo grafico.
Acceso en modo consola
----------------------
Instalamos en el servidor telnetd.
En el cliente, posiblemente tendremos el programa telnet. Si no es asi, instalalo.
Desde el cliente, escribimos:
# telnet 192.168.0.101
esto nos conecta con el servidor. Escribimos el nombre de usuario y contraseña que tenemos en el servidor (NO EN EL CLIENTE), y listos, ya tenemos un acceso remoto por consola.
Acceso en modo grafico
----------------------
Normalmente no se usara y solo se quiere "por si acaso". Por estos motivos, un buen candidato es IceWM. Sencillo, ligero y rapido.
Instalamos icewm. No es necesario instalar el paquete que tiene muchos temas. Tambien instalamos x11vnc y xvncviewer.
En la mayoria de los casos que la gente usa entorno grafico, se suele usar el comando "startx". Tambien leyendo el manual y por foros se pueden ver referencias a el archivo ".xinitrc". Sobretodo en este ultimo leer que basta con que contenga la linea "exec icewm-session" para iniciar.
Lo que pasa es que, siempre usando telnet, creamos .xinitrc y ponemos dentro "exec icewm-session" y nos volvemos a loguear, nos quedamos en consola igualmente. ¿Que hacer?. Si escribimos "startx" vemos algo como:
X: user not authorized to run the X server, aborting.
Editamos /etc/X11/Xwrapper.config y cambiamos
allowed_users=console
por la linea
allowed_users=anybody
Lo mejor seria copiar la linea abajo y dejar comentada la original, quedando asi:
# allowed_users=console (linea original)
allowed_users=anybody # linea cambiada
De esta forma sabremos perfectamente cual es cual
Bien, ahora antes de seguir, interesa encender el monitor del servidor, digamos que es mas impactante xD
Con el usuario normal, escribimos en consola:
# startx
En nuestra ventana de consola, donde estamos con telnet, se habra llenado de las tipicas lineas de un servidor X que ha sido lanzado. Pero en el monitor del servidor tendremos IceWm funcionando tal cual.
Abrimos otra consola, nos logueamos con telnet con el usuario normal, y escribimos:
# x11vnc -auth /home/nombre_usuario/.Xauthority -display :0
Nos saldra un monton de avisos y demas, pero tenemos que localizar estas lineas:
The VNC desktop is: Servidor:0
PORT=5900
Nos esta diciendo que en el pc-servidor se ha iniciado el programa x11vnc. El nombre del ordenador es "Servidor", la pantalla es 0 y el puerto usado es el 5900
Ahora abrimos otra consola, si si, otra consola mas, y escribimos:
# xvncviewer
Nos saldra esto:
VNC Viewer Free Edition 4.1.1 for X - built Jan 30 2009 19:33:16
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.
Server:
Metemos la IP y puerto donde tenemos el servidor VNC escuchando, quedando asi:
Server: 192.168.0.101:5900
Y voila, se nos abre el visor en nuestro ordenador cliente, y vemos en el IceWM. Podemos usarlo como si estuvieramos fisicamente delante de el.
Cosas a mejorar:
---------------
- Sustituir telnet por ssh
- Usar contraseñas con VNC
- Combinar SSH y VNC
- Iptables
Bien, quisiera finalizar diciendo que no conozco estos temas, asi que seguramente estoy entre las personas menos indicadas para aclarar dudas xD. Este metodo ha funcionado como un guante para lo que se necesitaba en este caso.
Y por supuesto agradecer a la gente de EsDebian la ayuda prestada.