OpenSSH: X11 forwarding: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
mNessun oggetto della modifica
Riga 4: Riga 4:
L'uso del comando <code>ssh</code>, una volta configurato il server e aggiunte le credenziali di autenticazione dell'utente del client, permette l'esecuzione di comandi su una macchina remota, ma soltanto tramite una [[shell]] testuale. Perciò un'applicazione può essere lanciata con interfaccia grafica soltanto se fa uso delle librerie ''ncurses'' o comunque che non richiedono la presenza di un server grafico X attivo.
L'uso del comando <code>ssh</code>, una volta configurato il server e aggiunte le credenziali di autenticazione dell'utente del client, permette l'esecuzione di comandi su una macchina remota, ma soltanto tramite una [[shell]] testuale. Perciò un'applicazione può essere lanciata con interfaccia grafica soltanto se fa uso delle librerie ''ncurses'' o comunque che non richiedono la presenza di un server grafico X attivo.


Per poter lanciare un'applicazione grafica che richiede l'esecuzione di un server grafico X (tramite librerie ''gtk*'', ''qt*'', ecc...) e interagirvi come si farebbe con una qualsiasi applicazione, è necessario reindirizzare (''forwarding'') tutte le chiamate dirette al server X della macchina remota sul server X locale, ossia la stessa del client <code>ssh</code>.
Per poter lanciare un'applicazione grafica che richiede l'esecuzione di un server grafico X (per esempio perché sviluppata con uso delle librerie ''GTK'', ''Qt'', ecc...) e interagirvi come si farebbe con una qualsiasi applicazione, è necessario reindirizzare (''forwarding'') tutte le chiamate dirette al server X della macchina remota sul server X locale, ossia la stessa del client <code>ssh</code>.


Si noti quindi che '''non''' è necessario né che sia in esecuzione né che sia installato un server grafico X sulla macchina remota. Per poter avviare un'applicazione grafica è invece necessario che sia installato e in esecuzione un server X sulla macchina client.
Si noti quindi che '''non''' è necessario né che sia in esecuzione né che sia installato un server grafico X sulla macchina remota. Per poter avviare un'applicazione grafica è invece necessario che sia installato e in esecuzione un server X sulla macchina client.


{{Warningbox | Si presume che la macchina di destinazione sia fidata, perché anche se i comandi sono eseguiti soltanto su quella macchina, tutte le chiamate alle librerie che fanno uso del server grafico sono eseguite sulla macchina locale. Di conseguenza c'è la possibilità di subire un attacco sulla macchina client da quella remota: in particolare rivolto a tutte le altre applicazioni eseguite sullo stesso server X, che potrebbero essere monitorate e/o manipolate.}}
{{Warningbox | Si presume che la macchina di destinazione sia fidata, perché anche se i comandi sono eseguiti soltanto su quella macchina, tutte le chiamate alle librerie che fanno uso del server grafico sono eseguite sulla macchina locale. Di conseguenza c'è la possibilità di subire un attacco sulla macchina client da quella remota: in particolare rivolto a tutte le altre applicazioni (di qualunque utente) eseguite sullo stesso server X, che potrebbero essere monitorate e/o manipolate, anche riguardo all'input immesso dall'utente attraverso mouse e tastiera.}}


== Configurazione ==
== Lato server ==
=== Configurazione ===
TODO...


== Utilizzo ==
== Lato client ==
=== Utilizzo ===
Dalla macchina client, è sufficiente lanciare <code>ssh</code> con l'opzione <code>-X</code>:
<pre>
$ ssh -X username_remoto@host_remoto
</pre>
per avviare una nuova sessione della [[shell]] testuale predefinita.
 
All'interno di questa sessione sarà possibile avviare applicazioni grafiche sulla macchina remota, che si potrà visualizzare e interagirvi tramite il server X locale come se si trattasse di una qualsiasi altra applicazione.
 
Un'altra opzione utile è <code>-C</code>, per abilitare la compressione:
<pre>
$ ssh -X -C username_remoto@host_remoto
</pre>
 
TODO: ssh -Y
 
=== Configurazione ===
TODO...


{{Autori
{{Autori
3 581

contributi