Connessione di inoltro PuTTY, CygwinX e X11 rifiutata


10

Non sono più in grado di inoltrare X11 utilizzando KiTTY / PuTTY a CygwinX.

Mi sto collegando a una macchina Ubuntu Server 14.10 che è correttamente configurata per consentire l'inoltro X11. Io sono in grado di avviare l'inoltro X11 usando Cygwin xterm e da altre macchine Linux.

Sto usando CygwinX [1.7.34 (0.285 / 5/3)] e KiTTY 0.64.0.1 (fork PuTTY, ho anche provato PuTTY), su Win7.

Ho verificato la mia variabile di visualizzazione e ho provato a disabilitare il controllo di accesso xhost in Cygwin xterm.

$ echo $DISPLAY
:1

$ xhost +
access control disabled, clients can connect from any host

My KiTTY / PuTTY è configurato per abilitare l'inoltro X11 e viene impostato il display corretto. Ho provato: 1 e: 1.0.

Schermata di configurazione di KiTTY X11

Quando I SSH sul server viene impostata la mia variabile DISPLAY e xauth viene aggiornato. Ho eliminato il mio .Xauthority e lo ho ricreato per verificarlo.

user@server:~$ echo $DISPLAY
localhost:10.0
user@server:~$ xauth list
server/unix:10  MIT-MAGIC-COOKIE-1  3983b2d7f3d5f9f66d9796997771bf82

Quando provo ad avviare un'applicazione X11 ottengo il seguente errore.

user@server:~$ xterm
KiTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused
xterm: Xt error: Can't open display: localhost:10.0

XWin.exe è in ascolto sulla porta 34576 se è importante.

[XWin.exe]
 TCP    127.0.0.1:34576        0.0.0.0:0              LISTENING

Ritengo che manchi un problema di software o di configurazione, poiché lo vedo con più server e macchine client. Qualsiasi aiuto sarebbe apprezzato.


$DISPLAYsul computer remoto dovrebbe puntare all'indirizzo del desktop, non localhost.
lcd047

2
@ lcd047 No, assolutamente ora. $DISPLAYsulla macchina remota dovrebbe puntare a localhost. SSH esegue l'inoltro.
Gilles 'SO- smetti di essere malvagio'

Ho installato Cygwin a 32 bit per eliminare Cygwin64 come variabile. Nessun cambiamento. Continuando a ricevere l'errore di connessione rifiutata.
SeeJayEmm

@Gilles: Il punto che stavo cercando di chiarire era che dal momento che $DISPLAYsul computer remoto non punta al desktop dell'OP, l'inoltro X11 non è avvenuto . Altrimenti, $DISPLAYsul computer remoto potrebbe non esistere nemmeno se il computer remoto non esegue un server X stesso (che comunque non ha nulla a che fare con la domanda iniziale).
lcd047

3
@ lcd047 No. Controlla i fatti. Se si verifica l'inoltro X11, DISPLAYpunta a localhost. SSH è in ascolto su una porta TCP sul computer remoto e inoltra i pacchetti. Se DISPLAYindirizzato al computer locale, ciò indicherebbe che non viene inoltrato tramite SSH, ma su una connessione TCP diretta - in chiaro, e possibilmente a un indirizzo IP che non ha nemmeno un percorso.
Gilles 'SO- smetti di essere malvagio'

Risposte:


9

Ok, ho capito la soluzione al mio problema.

Per impostazione predefinita, CygwinX non ascolta più le connessioni tcp (Cyg SSH utilizza i socket Unix per connettersi). Per abilitare le connessioni tcp "-listen tcp" deve essere aggiunto ai parametri della riga di comando. Nel mio caso ho cambiato l'icona "XWin Server" per leggere:

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin -- -multiwindow -listen tcp"

Per me funziona alla grande, grazie! Ma come posso evitare di dover fare xhost +localhost(o una soluzione più sicura) in un terminale Cygwin locale ogni volta che avvio il server X?
Chappjc,

1
Beh, ho aggiunto xhost +localhostnel startxwinproprio vicino alla fine del file, all'interno della ultima condizionale:xhost +localhost fi exit $retval
chappjc

che dire di stucco?
Brian Thomas,

@BrianThomas Puoi chiarire la tua domanda? Che dire di PuTTY? La configurazione PuTTY nel mio post originale era valida. Il problema era con CygwinX.
SeeJayEmm,

Beh, mi riferivo al titolo, Putty non si collega, la risposta è per Cygwin, e non per putty, ma vedo una schermata di stucco nell'OP. Comunque l'ho capito. Per quanto riguarda lo stucco, la soluzione al mio problema era assicurarsi che fosse in esecuzione un solo Xserver (nel mio caso XMing) e che non ci fossero errori nel registro all'avvio, ed è obbligatorio specificare che il display ha :10funzionato per me. (ok, posso vedere come questo non riguarda la tua risposta, dato che sei il PO originale, tuttavia, ci sono anche altre persone qui, questo problema può essere piuttosto ampio. Quindi speriamo che questo sia utile per gli altri.)
Brian Thomas,

0

Ho avuto questo problema Era perché X-Win non era in esecuzione. Se si desidera eseguire X-Win all'avvio, selezionare "run", quindi "shell: startup" e copiare il collegamento x-win in quella cartella.


0

Nel mio caso, l'errore era simile "connessione putty x11 rifiutata". Stavo accedendo tramite una macchina Windows in un server Ubuntu 16 tramite putty (con l'inoltro x11 abilitato).

Ho provato un sacco di cose dalla rigenerazione dei file .Xauthority all'aggiunta di cookie magici nell'uso dell'elenco xauth. Tuttavia, il problema era semplicemente che il server Xming non era in esecuzione sul mio computer Windows. Una volta che ho avviato Xming sul computer host (windows) su cui stavo generando lo stucco, il login tramite Putty ha funzionato come un fascino.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.