dimarts, 19 d’agost de 2008

Administració remota

Una de les formes d'administrar un Linux remotament és via SSH. Això, però, té un "inconvenient" (i que em perdonin els puristes): que funciona únicament mitjançant la línia de comandes.

Per a molts que això no suposarà cap mena de problema, però per als que no la coneixen prou (entre els que figuro) sí que és un problema. Afortunadament hi ha dues possibles solucions.

La primera passa per fer servir un control remot, que Ubuntu suporta de forma nativa fent servir VNC. Només cal activar-ho en les preferències d'Escriptori Remot de la màquina a controlar (diguem-ne A), dins el menú d'Administració del sistema.

Per connectar amb la màquina A des d'un altre client (diguem-ne màquina B) es pot fer des de l'utilitat de connexió a escriptoris remots (Aplicacions->Internet->Visualitzador d'escriptoris remots) o bé executant la comanda vncviewer , on host és la màquina A on ens volem connectar.

D'aquesta forma, podem fer servir la sessió oberta en la màquina A, és a dir, la compartim, i per tant podrem accedir a qualsevol part com si hi fossim al davant, cosa que va molt bé, per exemple, si volem donar suport a algun usuari o volem controlar les aplicacions que ja estan corrent dins una sessió.

La segona opció és fer servir FreeNX, que és una implementació lliure de NX.

Com alguns ja sabreu, el sistema de finestres de Linux es basa en una arquitectura client-servidor on ambdues parts es comuniquen mitjançant un protocol anomenat X11.

NX el què permet és que un client, situat en una altra màquina, parli amb el servidor de la màquina a controlar, comprimint les dades del protocol i enviant-les per xarxa, on el client les descomprimirà i les interpretarà.

D'aquesta forma aconseguim tenir una sessió gràfica de la màquina A corrent en la màquina B.

Les diferències bàsiques són, doncs, que mitjançant VNC només hi ha una sessió en la màquina A, que es comparteix amb la màquina B; en canvi fent servir NX creem una nova sessió en la màquina A, que corre gràficament en la màquina B i que no interfereix amb una possible sessió ja existent en la màquina A.

Jo encara no havia probat NX però ho acabo de fer i la veritat és que va molt bé.

Si us interessa provar-ho, els passos són molt senzills i no es diferencien de la instalació de qualsevol altra peça de programari feta des del terminal.

Els passos per a instal·lar el servidor en la màquina a administrar (que he tret d'aquesta adreça) són els següents:

1-Afegir els repositoris al fitxer de fonts de programari (sudo gedit /etc/apt/sources.list) afegint les línies següents:

deb http://ppa.launchpad.net/marceloshima/ubuntu hardy main

deb-src http://ppa.launchpad.net/marceloshima/ubuntu hardy main


2-Actualitzem la base de dades de l'apt fent un sudo apt-get update.

3-A continuació instal·lem tot allò que cal:
sudo apt-get install expect openssh-server nxlibs nxagent nxproxy freenx-server

4-Finalment, cal agregar el/s usuari/s que farem servir quan ens connectem, al grup d'usuaris anomenat NX. Podeu fer-ho des de Sistema->Administració->Usuaris i grups.

Cal reiniciar per a què els canvis en els usuaris tinguin efecte.

Pel què fa a la màquina des de la què volem administrar la màquina A, cal instal·lar el client de NX.

Primer el descarregarem fent wget http://64.34.161.181/download/3.2.0/Linux/nxclient_3.2.0-9_i386.deb. Seguidament l'instal·larem fent sudo dpkg -i nxclient_3.2.0-9_i386.deb.

I ja està, ara en el menú Aplicacions->Internet->NX Client for Linux tindriem l'accés al client. Només cal posar les dades necessàries fent servir l'assistent i a funcionar.