Ho un nuovo e seccante problema con ssh che inoltra la mia connessione X11 quando accedo da un Mac (10.7.2) a Linux (Ubuntu 8.04). Non ho problemi a usare ssh -X per accedere al computer remoto e avviare un'applicazione basata su X11 da quella shell.
Quello che è iniziato di recente è che ulteriori invocazioni di applicazioni X11 dalla stessa shell, dopo un po '(nell'ordine delle ore), non sono in grado di avviarsi perché il display inoltrato è bloccato (presumo). Quando tento di avviare xterm, ad esempio, ricevo il solito messaggio su una impostazione DISPLAY errata, come ad esempio:
Errore xterm Xt: impossibile aprire display: localhost: 10.0
Ma l'applicazione X11 che ho avviato proprio quando ho effettuato l'accesso funziona ancora perfettamente, usando lo stesso identico display (localhost: 10.0), solo che è stato avviato in precedenza.
Ho attivato la registrazione dettagliata in sshd_config e lo vedo nel file /var/log/auth.log in risposta al tentativo fallito di avvio di xterm:
sshd [22104]: canale 8: apertura non riuscita: amministrativamente vietata: apertura non riuscita
Se faccio di nuovo ssh -X sul server, avviando una nuova shell e ricevendo un nuovo display (localhost: 11.0), lo stesso processo si ripete: le applicazioni X11 avviate in fase iniziale vengono eseguite correttamente fino a quando le tengo aperte (giorni ), ma dopo alcune ore non posso avviarne di nuovi da quella shell.
Particolari: OpenSSH sshd server in esecuzione su Ubuntu 8.04, display inoltrato a un Mac con Lion (10.7.2) con il server Apple X predefinito. I sistemi sono collegati su una LAN Ethernet con un singolo switch tra di loro. Nessuna macchina esegue un firewall. Fino a poco tempo fa (qualche giorno fa) questa installazione ha funzionato perfettamente, quindi sono confuso su dove guardare dopo. Non sono affatto un esperto di X11 o SSH ma ho una buona esperienza UNIX / Linux. Nulla di ovvio è cambiato nella configurazione client o server, anche se ho provato a cambiare alcune opzioni per provare a eseguire il debug di questo, come impostare TCPKeepAlive di sshd_config su no e impostare "host + localhost" (si può dire che sono stato su Google).
Quando si accede da un laptop Linux 11.10 allo stesso host remoto sulla stessa rete e si passa, questo problema non si verifica: un xterm può essere invocato con successo ore dopo dalla stessa shell di accesso ssh mentre lo stesso esperimento dal Mac fallisce ( testato questa mattina per essere sicuro), quindi sembrerebbe un problema specifico per Mac.
Con "LogLevel DEBUG3" impostato sul computer remoto (server sshd) e nessuna modifica effettuata nelle connessioni client da me, /var/log/auth.log mostra una leggera modifica nei rapporti sullo stato della connessione durante la notte, che è il numero di porta utilizzato dall'unica sessione ssh di successo dalla macchina Linux (credo), connessione # 7 di seguito:
sshd [20173]: debug3: channel 7: status: Sono aperte le seguenti connessioni: \ r \ n # 0 server-session (t4 r0 i0 / 0 o0 / 0 fd 14/13 cfd -1) \ r \ n # 3 Connessione X11 dalla porta 127.0.0.1 57564 (t4 r1 i0 / 0 o0 / 0 fd 16/16 cfd -1) \ r \ n # 4 Connessione X11 dalla porta 127.0.0.1 57565 (t4 r2 i0 / 0 o0 / 0 fd 17 / 17 cfd -1) \ r \ n # 5 connessione X11 dalla porta 127.0.0.1 57566 (t4 r3 i0 / 0 o0 / 0 fd 18/18 cfd -1) \ r \ n # 6 connessione X11 dalla porta 127.0.0.1 57567 (t4 r4 i0 / 0 o0 / 0 fd 19/19 cfd -1) \ r \ n # 7 connessione X11 dalla porta 127.0.0.1 59007
In questo rapporto, tutto è uguale tra i rapporti di stato tranne il numero di porta utilizzato dalla connessione n. 7, che credo sia il client Linux, l'unico che mantiene ancora una connessione di visualizzazione. Continua ad aumentare nel tempo, a giudicare da una sequenza di questi rapporti durante la notte.
Grazie per qualsiasi aiuto,
-Mike
code
connessione X11 rifiutata dopo la scadenza di ForwardX11Timeout ForwardX11Timeout è un'opzione nel client ssh del Mac che limita l'inoltro da una connessione non attendibile. Potenzialmente usando -Y invece di -X funzionerebbe. ForwardX11Timeout non è documentato nella pagina man ssh di Lion. L'impostazione predefinita sembra essere 20 minuti. L'impostazione più alta in ssh_config è possibile ma il server Lion X si arresta in modo anomalo se impostato su> 596 ore ... che, in millisecondi, supera i 31 bit. Arrgh. Spero che questo lo risolva.