[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: X sessions und nicht terminierte ssh clients



Hallo Richard!

On Fre, 27 Jan 2006, Richard Mittendorfer wrote:
> > Wir haben folgendes Problem: Seit dem upgrade von woody auf sarge
> > werden ssh Prozesse, die während einer Xsession gestartet wurden, beim
> > ausloggen nicht mehr terminiert.
> 
> Alle? Dann sshd mal DEBUG und ssh -v. 

Nein, nicht alle. Wenn ich auf Recher A sitze und auf Rechner a eine
lokale X session laufe habe (man beachte dass jeder Rechner ein eigener
vollwertiger Rechner ist!), und dann
	ssh user@andererechner -e exmh
mache. Dann beende ich exmh und logge mich aus, dann ist alles palletti.

Nur wenn ich meinem twm sage, Exit, und der exmh auf andererrechner
rennt noch, dann wird zwar das exmh terminiert, aber die unterliegende
ssh Verbindung nicht.

> > Also: gdm managed das einloggen, user loggt sich ein, startet mit
> > 	ssh user@host -e program
> > ein program auf einem anderen Rechner (unserem server).
> > 
> > Dann logt sich user aus, ohne das Program ordentlich zu terminieren,
> 
> Am lokalen terminal beendet sich's ordnungsgemaess?

Was? Der subprozess der von der ssh auf dem anderen Rechner gestartet
wird, terminiert immer, nur die unterliegende Transport-ssh nicht.

> > und die ssh rennt und rennt und rennt und rennt. Damit bleiben auch am
> 
> Die Netzwerkverbindung bleibt bestehen AKA Gegenstelle glaubt man waere
> noch eingeloggt und die App rennt remote weiter? Zeigt iptstate -f die
> Verbindung? jobs nohup oder backgrounded?

Nein, die app rennt nicht weiter, nur die ssh rennt noch!

> > server natürlich die ganzen Prozesse auf ewig hängen, solange nicht
> > der Ursprungsrechner rebootet wird. Wenn das nun ein paar User auf ein
> > paar Rechnern mit mehreren Programmen machen, hat man bald einmal
> > ziemliche Anzahl von nutzlosen ssh Prozessen.
> 
> Hilft TCPKeepalive? man sshd_config. 

Irrelevant, weil ja der Rechner rennt, und wir wollen ihn ja nicht
dauernd runterfahren müssen, nur um die ssh Programme zu töten.
Aber nein, es hilft nicht, ich habe es schon gesetzt.

> > Nun die Frage: Woran kann das liegen. Ich habe die alten Xsession
> > scripts durchsucht und nicht wirklich grobe Unterschiede gefunden,
> > inklusive des Xsession.d scriptlets.
> 
> Tippe eher auf ssh(d), da ausloggen den Prozess beenden sollte. Sind das
> X Applikationen ueber einen sshtunnel oder xdmcp oder an der console?

Ausgeloggt wird ja auf einem ganz anderen Rechner, nicht dort wo das
programm rennt. Ausgeloggt wird auf lokalem Rechner, und damit wird -
weil plötzlich das X weg ist - der remote Prozess auch gekillt, aber
nicht die ssh drunter.

> > Hat wer dieses Phänomen schon erlebt, bzw noch besser behoben?
> 
> Sowas aehnliches: Manche Sessions werden nach ausloggen zwar
> netzwerkmaessig beendet (Etch/Sid), der lokale Terminal haengt aber.
> Manchmal hilft "~.".

Also wenn man die applikation beendet, dann wird auch die ssh beendet,
also daran liegt es nicht.

Herzliche Grüße

Norbert

-------------------------------------------------------------------------------
Dr. Norbert Preining <preining AT logic DOT at>             Università di Siena
gpg DSA: 0x09C5B094      fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
WOKING (participial vb.)
Standing in the kitchen wondering what you came in here for.
			--- Douglas Adams, The Meaning of Liff



Reply to: