Come configurare l'inoltro X11 su Linux tramite SSH

L'inoltro X11 consente di eseguire un'applicazione grafica Linux su un computer remoto e visualizzarne la finestra sul desktop locale tramite SSH. Per configurarlo, è necessario abilitare l'inoltro sul server SSH remoto, verificare che il server disponga di xauthun'interfaccia X, controllare che il desktop locale abbia un display X e connettersi tramite SSH ssh -X. Questa operazione inoltra singole finestre dell'applicazione; non crea una sessione desktop remoto completa.

Cosa ti serve prima di configurarlo

Il computer su cui si digita il comando SSH è il client . Richiede il client OpenSSH e una sessione desktop grafica attiva con un display X. Molti desktop Linux forniscono questa funzionalità direttamente o tramite XWayland quando la sessione utilizza Wayland. Se echo "$DISPLAY"sul desktop locale non viene visualizzato nulla, significa che non è presente alcun display utilizzabile da SSH in quella shell.

Il computer remoto funge da server . Necessita del server OpenSSH e xauthdell'utilità necessaria affinché SSH possa creare il cookie di autorizzazione temporaneo utilizzato per la visualizzazione inoltrata. Su Debian o Ubuntu, installali sul sistema remoto con sudo apt updatee sudo apt install openssh-server xauth. Su un'altra distribuzione, utilizza il suo gestore di pacchetti per installare il server OpenSSH e il pacchetto che fornisce xauth. Assicurati che un normale accesso SSH funzioni prima di modificare la configurazione.

Terminale Linux che mostra i comandi ssh e xauth trovati sul sistema locale
Verifica che il terminale locale possa eseguire il client OpenSSH; anche il server remoto necessita di xauth.

Configurare l'inoltro X11 tramite SSH

1. Abilitare l'inoltro nella configurazione del server

Sul computer remoto, modificare il file di configurazione del server , solitamente /etc/ssh/sshd_config, utilizzando un editor con privilegi di amministratore:

sudoedit /etc/ssh/sshd_config

Trova un'impostazione attiva esistente X11Forwardinge modificala in:

X11Forwarding yes

Se l'impostazione non è presente, aggiungerla nella sezione globale prima di qualsiasi Matchblocco. Alcune distribuzioni caricano anche i file da /etc/ssh/sshd_config.d/; verificare i file inclusi per eventuali impostazioni in conflitto. Una Matchregola o DisableForwarding yespuò comunque impedire l'inoltro per un account specifico. Lasciare l'impostazione predefinita a meno che non si riscontri uno specifico problema di compatibilità: OpenSSH normalmente associa il proxy di inoltro all'interfaccia di loopback. Il manualeX11UseLocalhost ufficiale di sshd_config descrive queste opzioni lato server.

Configurazione del server SSH con la direttiva X11Forwarding yes attiva
L'impostazione del server va inserita in sshd_config, non nel file di configurazione del client SSH, ssh_config.

2. Convalida la configurazione e ricarica SSH

Prima di ricaricare il demone, verificare la presenza di errori di sintassi nel file e confermare il valore di inoltro effettivo:

sudo sshd -t
sudo sshd -T | grep -i '^x11forwarding'

Il primo comando dovrebbe terminare senza errori; il secondo dovrebbe segnalare x11forwarding yes. Se si utilizzano Matchregole, testare la configurazione effettiva per l'utente e la connessione pertinenti come descritto nel manuale di OpenSSH. Correggere eventuali errori prima di ricaricare in modo da non interrompere l'accesso SSH.

Ricarica il nome del servizio utilizzato dalla tua distribuzione. Debian e Ubuntu usano comunemente:

sudo systemctl reload ssh

I sistemi Fedora e della famiglia RHEL utilizzano comunemente:

sudo systemctl reload sshd

Se il ricaricamento non è supportato, utilizzare restartlo stesso servizio. Mantenere aperta la sessione corrente e testare una nuova connessione prima di chiuderla. La documentazione del server OpenSSH di Ubuntu descrive il file del server e i frammenti di configurazione utilizzati su Ubuntu.

3. Connettiti dal desktop Linux locale

Sul client, richiedere l'inoltro X11 non attendibile con -X:

ssh -X user@server.example.com

Sostituisci il nome utente e l'host di esempio con i tuoi. Se il server SSH è in ascolto su una porta non standard, aggiungi il numero di porta con -p:

ssh -X -p 2222 user@server.example.com

Dopo aver effettuato l'accesso, avvia un programma grafico installato sull'host remoto. Per una verifica rapida, esegui xclockl'applicazione di test se è disponibile oppure avvia un altro programma GUI installato. SSH imposta DISPLAYautomaticamente il valore della sessione remota e inoltra la connessione X11; non copiare il valore di visualizzazione locale sul server né impostarlo manualmente.

Terminale Linux locale che si connette a un host remoto con ssh -X
Questa -Xopzione richiede l'inoltro X11 all'avvio della sessione SSH.
Applicazione xclock remota visualizzata accanto al terminale SSH su un desktop Linux.
Un'applicazione GUI inoltrata appare come una finestra sul desktop locale mentre la sessione SSH rimane aperta.

Sicurezza e risoluzione dei problemi

Utilizza questa opzione -Xper impostazione predefinita. L' -Yopzione abilita l'inoltro attendibile, che rimuove le restrizioni di sicurezza X11 e concede all'applicazione remota un accesso più ampio al display locale. Utilizzala solo con un server e un'applicazione di cui ti fidi. OpenSSH avverte che l'inoltro X11 può esporre il display del client ad attacchi; consulta il manuale di ssh e il manuale di ssh_config per la distinzione tra inoltro attendibile e non attendibile.

  • "Richiesta di inoltro X11 non riuscita": verificare il valore effettivo del server X11Forwarding, confermare xauthche sia installato sull'host remoto e cercare eventuali Matchblocchi o DisableForwardingimpostazioni restrittive.
  • DISPLAYè vuoto nella sessione remota: Disconnettiti e riconnettiti con ssh -X. Verifica che la shell locale abbia un display grafico in esecuzione e che la connessione raggiunga il server appena configurato.
  • La finestra segnala l'impossibilità di aprire un display: verifica che la sessione desktop locale sia ancora attiva. Una shell senza accesso al display del desktop non può visualizzare le finestre inoltrate.
  • xclocknon trovato: il programma di test è semplicemente assente. Prova un'applicazione con interfaccia grafica già installata sulla macchina remota; questo messaggio da solo non dimostra che l'inoltro SSH sia interrotto.

L'inoltro X11 è comodo per l'utilizzo occasionale di strumenti remoti, ma le applicazioni grafiche che si aggiornano frequentemente possono risultare lente su una connessione con latenza elevata. Per un intero desktop o per lavori che richiedono un'elevata elaborazione grafica, è consigliabile utilizzare una soluzione di desktop remoto progettata specificamente per questo scopo.

Lascia un commento

Come recuperare in modo sicuro partizioni e dati del disco rigido persi

Come recuperare in modo sicuro partizioni e dati del disco rigido persi

Scopri come recuperare partizioni e file persi con TestDisk e PhotoRec. Proteggi l'unità di origine, esegui una scansione sicura e salva i dati recuperati su un altro disco.

Come scansionare i codici QR su un computer desktop Linux

Come scansionare i codici QR su un computer desktop Linux

Scansiona i codici QR su Linux con CoBang utilizzando una webcam o un file immagine. Consulta le opzioni di installazione, i passaggi di configurazione e le soluzioni per l'accesso alla fotocamera tramite Flatpak.

Come modificare le impostazioni della webcam su Linux con Cameractrls

Come modificare le impostazioni della webcam su Linux con Cameractrls

Modifica le impostazioni della webcam su Linux con Cameractrls: regola l'esposizione, il colore, la riduzione dello sfarfallio e altri controlli supportati, quindi verifica le modalità video compatibili.

Come installare PhpStorm su Linux: Toolbox, Tar.gz, Snap e AUR

Come installare PhpStorm su Linux: Toolbox, Tar.gz, Snap e AUR

Installa PhpStorm su Linux con JetBrains Toolbox o con l'archivio tar.gz autonomo, oltre alle opzioni Snap e Arch AUR. Java è già incluso.

Come eseguire il backup di un CD-ROM come immagine ISO su Linux

Come eseguire il backup di un CD-ROM come immagine ISO su Linux

Crea un'immagine ISO di un CD-ROM su Linux con GNOME Disks o dd. Identifica l'unità ottica, monitora la copia, verifica l'immagine e scopri quando un disco danneggiato o un disco audio richiede uno strumento aggiuntivo.

Come installare Cisco Packet Tracer su Linux

Come installare Cisco Packet Tracer su Linux

Scarica Cisco Packet Tracer 9.0.1 per Ubuntu a 64 bit, installa il pacchetto DEB con APT, accetta la licenza nel Terminale ed effettua l'accesso per avviare un laboratorio.

Come configurare due pannelli su XFCE 4

Come configurare due pannelli su XFCE 4

Crea un pannello XFCE 4 separato per ogni schermo, assegna il secondo pannello all'uscita corretta, posizionalo e ridimensionalo, e aggiungi i launcher e gli elementi di stato necessari.

Come ritagliare un'immagine su Linux con GIMP

Come ritagliare un'immagine su Linux con GIMP

Rimuovere lo sfondo di una foto su Linux con GIMP: traccia il soggetto, elimina lo sfondo selezionato, mantieni la trasparenza ed esporta un file PNG riutilizzabile.

Applicazione desktop Google Tasks: come utilizzarla su un computer

Applicazione desktop Google Tasks: come utilizzarla su un computer

Apri Google Tasks in un browser, aggiungi un collegamento a Chrome o avvialo come un'app e gestisci le attività con data tramite Calendar e Gmail.

OKSampler: un campionatore musicale gratuito e semplice per creare ritmi da tastiera.

OKSampler: un campionatore musicale gratuito e semplice per creare ritmi da tastiera.

OKSampler associa i file MP3 ai tasti della tastiera e permette la riproduzione in loop dell'audio. Scopri cosa fa questo software gratuito ormai datato, dove finiscono le sue vecchie funzionalità e cosa controllare prima di scaricarlo.