Usare un desktop remoto con Xfree
 Grazie all’architettura del server XFree è possibile collegarsi con un computer remoto al desktop di un server. Il server X può accettare delle che non necessariamente devono provenire dalla macchina locale, ma anche quelle provenienti da una macchina remota. In questo modo è possibile lanciare da un client dei programmi che si collegano al server X del computer remoto, che metterà a disposizione le risorse del computer, l’output grafico di tali applicazioni apparirà sullo schermo del client.
 
Ai fini della connessione occorreranno due computer

 
PC_SERVER su cui gira il server X e su cui risiedono i programmi che vogliamo lanciare
PC_AMMINISTRAZIONE su cui gira un  server X e dal quale amministreremo il server remoto
 
In pratica ridirigeremo le applicazioni che girano su PC_SERVER, sul server X di PC_AMMINISTRAZIONE in modo da avere la possibilità di amministrare il server da una postazione remota, così come aumentare le prestazioni delle applicazioni stesse, essendo il server generalmente più prestante dei client.

 
Prima di tutto bisogna precisare che la rete deve essere piuttosto veloce per poter permettere lo scambio di dati visto che il protocollo di trasmissione X11 è piuttosto pesante, nel caso di una rete 10/100 non si noteranno ritardi e sembrerà come di lavorare fisicamente sul server, nel caso si usi un collegamento ppp senza una qualche compressione si potranno verificare rallentamenti nel refresh dello schermo.

 
Per prima cosa bisogna dire impostare su PC_SERVER il ridirezionamento dell’uscita grafica delle applicazioni verso il server X di PC_AMMINISTRAZIONE, questo può essere fatto tramite una variabile d’ambiente chiamata DISPLAY che identifica il display su cui redirigere l’output.

Per fare ciò dalla console di PC_SERVER lanciamo il comando:

 
export DISPLAY=PC_AMMINISTRAZIONE:0.0

 
è bene precisare che se le applicazioni non trovano il display specificato redirigono l’output sul server X locale.

 
Il comando è chiaro, PC_AMMINISTRAZIONE è l’host su cui si deve ridirigere l’output (se si mette l’ip invece dell’host ovviamente funziona ugualmente) e 0.0 è il display ed il server del server X da prendere in considerazione sulla macchina di destinazione.

 
Il secondo passo è quello di autorizzare PC_AMMINISTRAZIONE a ricevere immagini da PC_SERVER, questo può essere fatto utilizzando il programma xhost.

La sintassi è piuttosto semplice, dalla shell di PC_AMMINISTRAZIONE digitamo:

 
xhost +PC_SERVER     Per abilitare la ricezione da PC_SERVER    

 
Se poi non vorrete più autorizzare PC_SERVER al collegamento potrete digitare

 
xhost -PC_SERVER   Per impedire la ricezione PC_SERVER    

 
Volendo si può anche fare in modo che tutti possano collegarsi tramite

 
xhost +

 
ma ve lo sconsiglio quindi è meglio riabilitare il check con

 
host –

 
 
xhost però è un programma piuttosto semplice e che offre funzioni limitate e un livello di adattabilità minimo, l’altro programma che si rivela più completo è xauth. Tramite questa applicazione infatti ogni utente può avere i propri permessi che vengono registrati nel file ~/.Xauthority e dunque possono essere copiati da macchina a macchina semplicemente copiando quel file, nel nostro caso PC_AMMINISTRAZIONE accetterà le immagini provenienti da PC_SERVER solo se i loro ~/.Xauthority (dei due rispettivi utenti che agiscono sulle due macchine) sono uguali.

 
A questo punto rimane solo da provare se il tutto funziona

Ritorno sulla shell di PC_SERVER e digito:

 
mozilla &

 
A questo punto xfm appare sul desktop di PC_AMMINISTRAZIONE e non su quello di PC_SERVER, dunque tutto è andato a buon fine ed è ora possibile amministrare il computer remoto dalla console locale

 
- Usare il forwarding di ssh per avere più sicurezza

 
Per aumentare la sicurezza della trasmissione dati e per evitare attacchi mitm è opportuno abilitare il forwarding di X su ssh, per fare ciò ci sono almeno due modi. Il primo consiste nell’usare l’opzione –X quando si avvia ssh per collegarsi alla macchina remota su cui vogliamo eseguire le operazioni. Il secondo consiste nell’aggiungere al file di configurazione di ssh (normalmente ssh_config) le seguenti righe

 
Host remote.host.name

ForwardX11 yes

 
In modo da abilitare il forwarding su ssh per l’host selezionato

 
- NOTA BENE

 
è d’obbligo precisare che queste operazioni possono creare abbassare il livello di sicurezza anche in maniera notevole, per questo è preferibile adottare una autenticazione tramite xauth, offrire l’accesso alla porta del server X solo ai server fidati ed utilizzare ssh per amministrare macchine remote in modo da avere a disposizione una maggiore sicurezza data dalla crittografia dei dati trasmessi ed evitare il più possibile attacchi del tipo mitm.

 
Oltre a ciò molte applicazioni che utilizzano una accelerazione 3d non funzionano da remoto.

In alcune distribuzioni per motivi di sicurezza X viene lanciato con la flag – nolisten in modo che non possa accettare connessioni remote, per togliere questa limitazione basta editiare il file

 
/etc/x11/xnit/xserverrc
 
e dalla riga

 exec/usr/bin/x11/X-dpi 100 –nolisten tcp


 togliere l'opzione –nolisten

We use cookies
Attenzione! Questo sito utilizza i cookie tecnici e di terze parti per poter fornire i servizi.