linux12

7
MINISTERIO DE EDUCACIÓN Y CIENCIA SECRETARÍA GENERAL DE EDUCACIÓN Y FORMACIÓN PROFESIONAL DIRECCIÓN GENERAL DE EDUCACIÓN, FORMACIÓN PROFESIONAL E INNOVACIÓN EDUCATIVA CENTRO NACIONAL DE INFORMACIÓN Y COMUNICACIÓN EDUCATIVA Redes de área local Aplicaciones y Servicios Linux Servidores de terminales C/ TORRELAGUNA, 58 28027 - MADRID

description

MINISTERIO DE EDUCACIÓN Y CIENCIA SECRETARÍA GENERAL DE EDUCACIÓN Y FORMACIÓN PROFESIONAL CENTRO NACIONAL DE INFORMACIÓN Y COMUNICACIÓN EDUCATIVA DIRECCIÓN GENERAL DE EDUCACIÓN, FORMACIÓN PROFESIONAL E INNOVACIÓN EDUCATIVA C/ TORRELAGUNA, 58 28027 - MADRID Servidores de terminales 2 de 7

Transcript of linux12

Page 1: linux12

MINISTERIODE EDUCACIÓNY CIENCIA

SECRETARÍA GENERALDE EDUCACIÓNY FORMACIÓN PROFESIONAL

DIRECCIÓN GENERALDE EDUCACIÓN,FORMACIÓN PROFESIONALE INNOVACIÓN EDUCATIVA

CENTRO NACIONALDE INFORMACIÓN YCOMUNICACIÓN EDUCATIVA

Redes de área localAplicaciones y Servicios

LinuxServidores de terminales

C/ TORRELAGUNA, 5828027 - MADRID

Page 2: linux12

Índice de contenidoServidor de terminales...................................................................................................................................... 3

Introducción y antecedentes........................................................................................................................ 3Servidor de terminales en Linux....................................................................................................................... 3

Servidor de terminales mediante X-Window........................................................................................... 3Servidor de terminales freenx server...................................................................................................... 4

Ventajas de la utilización de un servidor de terminales en centros educativos............................................ 4Conectando al servidor de terminales.............................................................................................................. 5

Conexión remota mediante ssh................................................................................................................... 5

Servidores de terminales 2 de 7

Page 3: linux12

Servidor de terminales

Introducción y antecedentesUn servidor de terminales es un servidor que ejecuta un software que permite a los usuarios acceder al mismo remotamente desde otros PCs (que hacen de terminales) y manejarlo como si estuvieran sentados frente al servidor.

En los sistemas Unix esto ha existido prácticamente desde siempre ya que los usuarios se conectaban al servidor mediante telnet y lanzaban procesos de forma remota. El telnet es una aplicación cliente de terminal que permite desde cualquier PC de la red conectarse a un servidor. Para que la conexión remota sea posible, el servidor deberá tener instalado el software de servidor de telnet que en Debian es el paquete telnetd. Al comenzar la conexión el usuario debía identificarse con nombre (login) y contraseña (password) para poder utilizar el sistema, de la misma forma que lo haría si se sienta en la consola principal del servidor. El telnet está prácticamente en desuso ya que la información que se envía desde el cliente al servidor y viceversa está sin encriptar y cualquier usuario que pinche la red podrá averigurar el nombre del usuario y su contraseña fácilmente.

El sustituto del telnet es el ssh (Secure SHell) que permite conectarse a un servidor remoto pero de forma segura ya que las comunicaciones en todo momento van encriptadas con algoritmos muy seguros de forma que es prácticamente imposible descifrar la información. Para más información sobre ssh, haga clic aquí.

En todo momento estamos hablando de accesos remotos en modo texto, es decir, mediante un símbolo del sistema introduciendo comandos como si se tratara de una ventana de ms-dos o un terminal en modo texto de unix. En los años 80-90 era impensable que múltiples usuarios pudieran conectarse a un sistema remoto con terminales gráficos ya que requieren de una gran cantidad de memoria.

En la actualidad, debido al abaratamiento de la memoria RAM, esto se ha convertido en una realidad que ha llegado a los centros educativos y a las pequeñas y medianas empresas.

Servidor de terminales en Linux

Servidor de terminales mediante X-WindowLinux por sí solo es un servidor de terminales ya que es un sistema operativo multiusuario (varios usuarios pueden ejecutar aplicaciones simultaneamente en el servidor) y utiliza para las aplicaciones gráficas el sistema X-Windows.

El sistema X-Window es un sistema gráfico cliente-servidor orientado a red que se compone de servidor gráfico X (que es quien dibuja las ventanas) y clientes X (que son las aplicaciones gráficas), con lo cual

Servidores de terminales 3 de 7

Page 4: linux12

resulta ideal si se quiere utilizar de forma remota. Cuando ejecutamos aplicaciones gráficas directamente sentados en la consola principal del servidor, las aplicaciones dirigen su salida hacia el servidor grafico local cuya dirección IP es 127.0.0.1, pero cuando ejecutamos aplicaciones gráficas desde un terminal, la salida se dirigirá hacia el servidor gráfico del terminal.

Para disfrutar de un terminal remoto en modo gráfico con X-Window, debemos disponer en nuestro terminal remoto de un servidor grafico X. Los clientes de nuestro servidor gráfico X serán las aplicaciones que lancemos en el servidor y que redigirán la salida hacia nuestro servidor gráfico para que podamos visualizar en nuestro terminal las ventanas generadas por las aplicaciones. Las aplicaciones se ejecutan en el servidor pero las ventanas se visualizan en el terminal.

Para realizar esto de forma sencilla y segura, podemos utilizar ssh. Si en el servidor disponemos de un servidor ssh con la opción de 'redirección X' activada, desde el cliente podemos conectarnos al servidor con un cliente ssh y ejecutar aplicaciones gráficas ya que el servidor ssh se encarga de redireccionar la salida gráfica de las aplicaciones que ejecutemos, hacia nuestro terminal, y además las comunicaciones irán encriptadas. También es posible conectarse por telnet y redirigir la salida gráfica hacia el servidor X de nuestro terminal pero en este caso las comunicaciones viajarán sin encriptar.

Servidor de terminales freenx serverEl sistema freenx server utiliza el sistema X-Window pero añadiéndo algunas mejoras como la compresión de los datos. Para su funcionamiento es necesario ejecutar en el servidor un componente (nxserver) y en el terminal un cliente de nx (nxclient). El servidor y el cliente para linux se puede descargar de http://freenx.berlios.de

Ventajas de la utilización de un servidor de terminales en centros educativosEn centros educativos, disponer de algún aula con un sistema de terminales nos ofrece algunas ventajas:

• Aula de bajo coste: Con un PC moderno para el servidor con suficiente memoria RAM (por ejemplo 4 GB) y 12 PCs obsoletos (Pentium I, Pentium II), podemos tener un aula de informática de 12 PCs por poco más que el precio de uno. El puesto de trabajo del profesor podría ser el propio servidor.

• Aula de bajo mantenimiento a nivel software: Como todos los PCs se conectan al servidor y ejecutan sus aplicaciones, solo es necesario instalar y configurar aplicaciones en el servidor. Lo mismo ocurre con las impresoras y el acceso a Internet, solo hay que configurarlo en el servidor. Solamente hay que mantener un PC para que funcionen los 12.

• Aula de bajo coste de actualización: A medida que pasa el tiempo, los PCs se van quedando obsoletos y es necesario ir ampliando el disco duro, la memoria, y cuando se quedan pequeños, hay que cambiar el PC completo. En éste caso solo será necesario aumentar las prestaciones del servidor.

• Datos más seguros: Al quedar todos los documentos de los usuarios almacenados en el servidor, el acceso no autorizado a datos de otros usuarios es más dificil ya que requiere el acceso físico al

Servidores de terminales 4 de 7

Page 5: linux12

servidor. La realización de copias de seguridad es más sencilla ya que todos los documentos de los usuarios se encuentran en el servidor.

También tiene algún inconveniente, por ejemplo la utilización de los medios de almacenamiento locales (disquetera, discos usb) es compleja, de hecho se desaconseja. Como las aplicaciones se ejecutan en el servidor, si introducimos un disquete en el terminal, el servidor no va a poder acceder a su contenido. Lo mismo ocurre con los pendrives, además los pentium I no disponen de puerto USB.

La solución que se suele adoptar en un sistema de éste tipo para el acceso físico a los documentos, es utilizar una herramienta web tipo blog, wiki o portal, de forma que los usuarios tienen acceso a sus documentos vía web. Con una herramienta web adecuada, los usuarios podrán subir y bajar archivos, así como crear o eliminar carpetas de una forma sencilla. Para almacenar sus documentos en un pendrive, los usuarios deberán ir a un terminal con puerto USB y descargar sus documentos desde la web.

Hay quienes piensan que esta forma de trabajo es ventajosa ya que podremos acceder a nuestros documentos desde cualquier PC de la intranet, y si el servidor web es accesible desde fuera, desde cualquier PC de Internet.

Si el servidor de terminales es un potente servidor con una gran cantidad de memoria, podrá satisfacer las necesidades de un gran número de usuarios de forma simultánea. En algunos centros educativos están proliferando este tipo de sistemas ya que con un servidor que disponga de 4 GB de memoria RAM y discos duros rápidos, se pueden conectar unos 30 usuarios simultáneos desde terminales (que pueden ser PCs obsoletos como Pentium I) y disfrutar de las prestaciones de un PC actual y ejecutar cualquier aplicación que haya instalada en el servidor, además el único equipo que hay que mantener es el servidor con lo cual ahorramos costes de mantenimiento. El proyecto ilex ( http://www.proyectoilex.org en español) y otros como LTSP ( http://www.ltsp.org en inglés) están enfocados a implantar este tipo de sistemas en centros educativos.

El único requisito que deben cumplir los PCs que hacen de terminales es disponer de tarjeta de red y disponer de servidor gráfico X. Todos los Linux disponen de servidor gráfico X. Una distribución de Linux ligera apta para ser usada en los terminales es Damn Small Linux ( http://www.damnsmalllinux.org ). También existen servidores gráficos X para sistemas operativos Microsoft Windows, algunos de pago como X-win32 y libres como Xming o como cygwin ( http://www.cygwin.com ) que mas que un servidor X para Windows es casi un Unix para Windows.

Conectando al servidor de terminalesUno de los problemas que nos encontramos en el centro es que tanto el profesorado como el personal de administración pretende utilizar el servidor como un cliente más. Es muy frecuente que nos pregunten el motivo de tener un equipo con una contraseña que únicamente conoce una persona y por lo tanto no puede ser utilizado ni para imprimir un documento. El personal de administración, escaso de recursos informáticos, considera un derroche económico tener un equipo parado. La realidad es que el servidor es el equipo más importante de la estructura que estamos creando y por ello debe estar ubicado en un lugar de difícil acceso, aunque ello dificultará nuestras tareas de configuración y mantenimiento. Pero eso no es problema ya que de forma remota disponemos de pleno acceso al servidor aunque no estemos situados físicamente sobre la consola del mismo.

Conexión remota mediante sshSSH es un protocolo que, entre otras cosas, permite establecer una conexión en modo texto desde un terminal hacia un servidor, pero si en el terminal disponemos de un servidor gráfico X, sería posible incluso ejecutar aplicaciones gráficas en el servidor y redirigir la salida hacia el servidor grafico de nuestro terminal, logrando una conexión gráfica remota.

Para realizar una conexión gráfica remota mediante ssh necesitamos tan solo dos elementos:

• Un servidor con el servicio ssh corriendo. • Un terminal que disponga de servidor grafico X y de cliente ssh.

Como terminal gráfico X sirve un PC que tenga cualquier distribución de linux en modo gráfico. Incluso existe la posibilidad de conectar desde sistemas operativos Microsoft Windows si instalamos cygwin. Los

Servidores de terminales 5 de 7

Page 6: linux12

pasos a realizar son dos:

• Establecer la conexión con SSH desde el terminal al servidor. • Ejecutar una aplicación gráfica.

El servidor ssh deberá tener activada la redirección del protocolo X (lo está por defecto), es decir, deberá tener el siguiente parámetro en el archivo de configuración /etc/ssh/sshd_config: // Habilitar la redirección X en /etc/ssh/sshd_config

X11Forwarding yes

Para arrancar el servidor ssh debemos ejecutar:// Arrancar el servidor ssh

# /etc/init.d/ssh start

Nota: Para más información sobre el servicio ssh, consultar el apartado 'Otros servicios'

Una vez dispongamos de un servidor ssh funcionando, desde el cliente podremos iniciar sesión en el servidor mediante el comando ssh (cliente ssh) y una vez iniciada sesión en el servidor, podemos lanzar cualquier aplicación gráfica que se visualizará en la pantalla del cliente.

Por ejemplo, supongamos que en nuestro terminal tenemos una versión reducida de Linux como Damn Small Linux (http://www.damnsmalllinux.org ) y deseamos conectarnos a otro PC que tiene instalado Knoppix y ejecutar el editor gráfico gimp, los pasos que haremos serán: // Conexión gráfica remota por ssh

[dsl]$ ssh -X [email protected] // Nos conectamos por ssh como usuario...

...pepe y añadimos la opción -X para redirigir Xwindows.

[knoppix]$ gimp // Ya estamos conectados. Ejecutamos el gimp

El resultado será que desde el terminal podemos manejar la aplicación gimp que realmente se está ejecutando en el servidor. Podemos verlo en la siguiente imagen:

Servidores de terminales 6 de 7

Page 7: linux12

Ejecución de una aplicación gráfica remotamente

Si deseamos disponer del escritorio completo, podemos ejecutar: // Ejecutar kde

$ startkde

De esta forma tendremos en nuestro terminal un escritorio kde del servidor.

Los terminales podrían disponer de un sistema linux mínimo configurado de manera que al arrancar se conecten automáticamente al servidor de terminales. De ésta forma los usuarios creerán que están manejando el PC en el que están sentandos aunque realmente están manejando las aplicaciones del servidor.

Se podrían conectar simultaneamente tantos usuarios como permita la memoria del servidor aunque lógicamente, cuantos más usuarios se conecten de forma simultánea, mayor será la carga del servidor y más lenta será su respuesta. Para que el servidor vaya un poco suelto, debe disponer de unos 128 MB por cada cliente. Conviene que disponga de discos duros rápidos e incluso en sistema RAID 1 (espejo) para mayor seguridad y rapidez.

Servidores de terminales 7 de 7