OpenSSH: X11 forwarding: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
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

Versione delle 14:26, 20 nov 2015

Document-page-setup.png Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.

Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template.


Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 7 "wheezy"
Debian 8 "jessie"
SSH

Guide correlate



Introduzione

L'uso del comando ssh, 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 (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 ssh.

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.

Warning.png ATTENZIONE
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.


Lato server

Configurazione

TODO...

Lato client

Utilizzo

Dalla macchina client, è sufficiente lanciare ssh con l'opzione -X:

$ ssh -X username_remoto@host_remoto

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 è -C, per abilitare la compressione:

$ ssh -X -C username_remoto@host_remoto

TODO: ssh -Y

Configurazione

TODO...




Guida scritta da: HAL 9000 13:39, 19 nov 2015 (CET) Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized