Servidor NX usando FreeNX

por | 27 noviembre, 2012

Servidor NX usando FreeNX

NOTA: NX y el servidor FreeNX están disponibles solo para CentOS 4 y CentOS 5 i386.

NX es una solución de Acceso Remoto y Servidor Terminal basado en un conjunto de tecnológias de clase empresarial basadas en código abierto por NoMachine. Gracias a la gran compresión, la capacidad de reanudar la sesión, la administración de los recursos desarrollados sobre el sistema X-Window, la integración del audio, impresión y la capacidad de compartir recursos del mundo Unix, hacen posible que NX corra cualquier aplicación gráfica en cualquier sistema operativo a través de una conexión de red como si estuviese frente a su computadora CentOS.

Cuando se hace una conexión, usted tiene la computadora servidor (la computadora a la cual se conectará y en la cual abre el escritorio) y la computadora cliente (la computadora de la cual está realizando la conexión hacia servidor).

1. Instalación del servidor NX/FreeNX

Actualmente hay una versión de NX y FreeNX en el Repositorio Extras de CentOS.

Para instalar la versión estable del servidor NX / FreeNX, ejecute el comando siguiente en el servidor:

yum install nx freenx

Puede haber además una versión de prueba de NX / FreeNX en el Repositorio Testing de CentOS.

Consulte los enlaces que se muestran más abajo para ver si hay nuevos RPMS en fase de prueba. Si hay ficheros aquí que desee probar configure el repositorio Testing. Después de configurarar el repositorio Testing, puede instalar con el comando (desde su computadora servidor):

yum --enablerepo c4-testing install nx freenx

(si está utilizando el repo testing para CentOS 5, puede remplazar c4 por c5 )

Usted puede, además, descargar los RPMS manualmente desde:

Estable

En fase de prueba

y los fuentes de los RPMS desde:

Estable

En fase de prueba

NOTA: Hay algunos hechos que requieren que el Cliente No Machine esté instalado en su servidor NX. Por favor descargue el último RPM del Cliente No Machine para Linux (vea los enlaces para linux más debajo) e instálelo en la máquina que hace de servidor NX. (cuáles ?)

2. Autenticación basada en llave

NOTA: Aunque esta sección es opcional, es recomendado que la autenticación basada en llave sea implementada.

Copie un fichero de configuración mínimo para nxserver:

cd /etc/nxserver ; cp node.conf.sample node.conf

Si su computadora está conectada a la gran Internet, porbablemente necesitará deshabilitar la autenticación por contraseña de ssh (lo cuál es una sugerencia y no algo obligatorio). Edite el fichero /etc/ssh/sshd_config y cambie/adicione las líneas siguientes:

PasswordAuthentication no
        AllowUsers nx

Luego, recuerde reiniciar el demonio sshd:

service sshd restart

Por defecto, si usted trata de conectarse a el servidor NX, este usará la cuenta nx para realizar la conexión ssh (con autenticación por llave), pero el tratará de conectarse, además, con su nombre de usuario y contraseña a el host que está intentando alcanzar. Debido a que estamos deshabilitando la opción PasswordAuthentication (método que recomendamos), nosotros tenemos que usar la Base de Datos NX para permitir que la autenticación pase: asegúrese de que el fichero /etc/nxserver/node.conf contenga las líneas siguitentes:

ENABLE_PASSDB_AUTHENTICATION="1"

Entonces cree usted mismo la cuenta posix (con useradd/passwd si es que ya no está hecho). Adicione este nuevo usuario a la bd del servidor nxserver.

nxserver --adduser myuser
NX> 100 NXSERVER - Version 1.5.0-60 OS (GPL)
NX> 1000 NXNODE - Version 1.5.0-60 OS (GPL)
NX> 716 Public key added to: /home/myuser/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye

Asigne una contraseña para este usuario:

nxserver --passwd myuser
NX> 100 NXSERVER - Version 1.5.0-60 OS (GPL)
New password:
Password changed.
NX> 999 Bye

Recuerde adicionar este nuevo usuario en la línea AllowUsers en sshd_config y recargar sshd (service sshd reload).

3. Instalación del cliente NoMachine

NoMachine no permite la distribución de su cliente, de esta forma este debe ser descargado desde su sitio web. Existen clientes para Linux, Mac OSX, Solaris y Windows.

NOTA: NoMachine acaba de liberar la versión 3.0.0 del cliente NX. Nosotros no estamos seguro de que este trabaje con la solución de CentOS NX/freeNX. Aquí ponemos un enlace al cliente 2.1.0 más reciente de NoMachine que si trabaja.

Escoja el cliente para su sistema operativo e instálelo siguiendo las instrucciones correspondientes en el sitio de No Machine. Luego utilice las instrucciones siguientes para conectarse a su servidor NX:

  1. Abra NX Connection Wizard. Entre un nombre de la Sesión, un nombre de host (o direcciòn ip), un número de puerto y seleccione su tipo de conexión a Internet. Luego presione el botón Next para continuar.

  2. Seleccione el tipo de conexión, el sistema que desea usar como escritorio y las dimensiones del escritorio. Además, decida si usted desea encriptar todo el tráfico via SSL. Si usted usa SSL, no solo el tráfico será encriptado, sino que este utiliza solo el puerto SSL que usted listó para realizar la conexión. Esto significa que si usted está conectándose desde el exterior de un cortafuegos solo necesita abrir el puerto SSL al tráfico entrante. Presione el botón Next cuando termine.

    NOTA: En los clientes NX nuevos (> 3.0.0), la caja de chequeo es para deshabilitar el tráfico SSL, así que no marque la caja en los casos que desee encriptación SSL.

  3. Seleccione Create shortcut on desktop si lo desea y seleccione la caja Sow the Advanced Configuration dialog. Luego presione el botón Finish.

  4. En la ventana del diálogo avanzado, bajo la pestaña General, usted debe ver los elementos que ya ha entrado y un botón Key…. Usted necesita hacer ssh a el servidor que está intentando conectarse e ir al directorio /etc/nxserver/ y editar el fichero client.id_dsa.key (debe tener permisos de root para abrir este fichero). Copie todo el texto (incluyendo las líneas BEGIN DSA PRIVATE KEY y END DSA PRIVATE KEY). Presione el botón Key…, elimine el texto que esté allí y pegue la información del fichero client.id_dsa.key que copió del servidor dentro de la caja DSA Key, mostrada en amarillo. Luego presione el botón Save.

  5. Seleccione la pestaña Advanced. Es recomendable que usted tenga seleccionado Enable SSL Encryption of All Traffic.

En estos momentos debe ser capaz de conectarse al servidor y abrir su escritorio desde el cliente. Para más información, por favor vea la documentación de NoMachine.

4. Solución a problemas

Parecen existir problemas con la conexión del cliente actual NX para Windows a el actual (0.5.0-8) servidor NX en CentOS. Este problema parece ser conocido como el problema «backingstore».

Este hecho ya ha sido rectificado en la versión 0.5.0-9 (o superior) del paquete de CentOS, el cual puede ser encontrado en el Repositorio Extras. Esto no debe ocacionar más problemas, sinembargo nosotros dejamos la información como una referencia para las personas que aun están usando las versiones viejas.

Para otros problemas y soluciones consulte la FAQ de FreeNX.

5. Notas Misceláneas

Si está instalando FreeNX en un servidor remoto, usted necesitará además, instalar un entorno de escritorio en la computadora para poder correr la sesión remota. Una forma sencilla de hacerlo para Gnome es correr el comando:

yum groupinstall 'GNOME Desktop Environment' 'X Window System'
  1. NOTA: En los clientes NX nuevos (> 3.0.0), la caja de chequeo es para deshabilitar el tráfico SSL, así que no marque la caja en los casos que desee encriptación SSL.

  2. Seleccione Create shortcut on desktop si lo desea y seleccione la caja Sow the Advanced Configuration dialog. Luego presione el botón Finish.

  3. En la ventana del diálogo avanzado, bajo la pestaña General, usted debe ver los elementos que ya ha entrado y un botón Key…. Usted necesita hacer ssh a el servidor que está intentando conectarse e ir al directorio /etc/nxserver/ y editar el fichero client.id_dsa.key (debe tener permisos de root para abrir este fichero). Copie todo el texto (incluyendo las líneas BEGIN DSA PRIVATE KEY y END DSA PRIVATE KEY). Presione el botón Key…, elimine el texto que esté allí y pegue la información del fichero client.id_dsa.key que copió del servidor dentro de la caja DSA Key, mostrada en amarillo. Luego presione el botón Save.

  4. Seleccione la pestaña Advanced. Es recomendable que usted tenga seleccionado Enable SSL Encryption of All Traffic.

En estos momentos debe ser capaz de conectarse al servidor y abrir su escritorio desde el cliente. Para más información, por favor vea la documentación de NoMachine.

4. Solución a problemas

Parecen existir problemas con la conexión del cliente actual NX para Windows a el actual (0.5.0-8) servidor NX en CentOS. Este problema parece ser conocido como el problema «backingstore».

Este hecho ya ha sido rectificado en la versión 0.5.0-9 (o superior) del paquete de CentOS, el cual puede ser encontrado en el Repositorio Extras. Esto no debe ocacionar más problemas, sinembargo nosotros dejamos la información como una referencia para las personas que aun están usando las versiones viejas.

Para otros problemas y soluciones consulte la FAQ de FreeNX.

5. Notas Misceláneas

Si está instalando FreeNX en un servidor remoto, usted necesitará además, instalar un entorno de escritorio en la computadora para poder correr la sesión remota. Una forma sencilla de hacerlo para Gnome es correr el comando:

yum groupinstall 'GNOME Desktop Environment' 'X Window System'