Toon posts:

SSH geeft timeout na x aantal minuten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een klein irritant probleem.

Ik moet veel werken met SSH en ik moet als ik wil inloggen op ons werk een verbinding maken met een speciale SSH server, vanaf deze server kan ik verder in ons netwerk met SSH.

Vanaf kantoor is er geen probleem, ik log in en kan (zolang de internet verbinding niet crashed) ingelogged blijven, ook kan ik de sessie open laten en niets doen, de verbinding wordt NIET verbroken.

Het probleem:
Doe ik dit zelfde vanuit thuis dan krijg ik een timeout als ik bv 10 tot 15 minuten niks gedaan heb, er zijn geen instellingen op deze "SSH" server welke dit veroorzaakt. De oorzaak ligt bij mij thuis maar ik heb geen idee waar. Zowel op kantoor als thuis heb ik dezelfde provider (zelfde abonnement), ook gebruikt ik de zelfde linux distro op kantoor en thuis (ubuntu 7.10)

Ergens staat dus ingesteld dat als ik een bepaalde tijd niks doe de verbinding verbroken wordt (de hele shell freezed, ik moet de terminal op nieuw starten als dit gebeurd), heeft iemand een idee waar ik dit kan zoeken of kan instellen zodat de verbinding wel open blijft staan?

  • BarthezZ
  • Registratie: Juli 2004
  • Niet online

BarthezZ

anti voetbal en slechte djs!

Ik heb zoiets ook gehad en volgens mij ligt heb bij je router wat idle tcp connecties killed.

In putty(maar ik denk dat je de interne ssh client gebruikt) kan je een keepalive doen wat zo nu en dan wat bogus data heen en weer stuurt zodat je tcp sessie niet gekilled word. Kijk even in `man ssh` of er ook iets staat over sessies levend houden.

  • Semyon
  • Registratie: April 2001
  • Laatst online: 11:54
Keep alive packets zouden inderdaad een oplossing kunnen bieden.

Het is niet eens zozeer het geval dat je connectie "actief" gekilled wordt, vaak komen deze verschijnselen doordat je ergens achter een router/firewall/NAT zit. Deze aparatuur willen graag informatie van binnen naar buiten toelaten, maar zijn erg huiverig met informatie van buiten naar binnen. Als je een connectie opzet wordt alle terugkomende data gezien als informatie op verzoek van binnnen. Vaak is deze aparatuur niet echt heel intelligent en monitort niet zelf de verbinding om te zien of er een TCP CLOSE voorbij komt. Als er een tijdje niks is geweest wordt verder alle informatie vanaf buiten gezien als onvrijwillige data die binnen probeert te komen.

Het heeft meer te maken met de onozelheid van de aparatuur tussen je en je werk. Maar keep alive zou uitkomst moeten bieden.

Only when it is dark enough, can you see the stars


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Semyon schreef op woensdag 20 februari 2008 @ 01:56:
Keep alive packets zouden inderdaad een oplossing kunnen bieden.

Het is niet eens zozeer het geval dat je connectie "actief" gekilled wordt, vaak komen deze verschijnselen doordat je ergens achter een router/firewall/NAT zit. Deze aparatuur willen graag informatie van binnen naar buiten toelaten, maar zijn erg huiverig met informatie van buiten naar binnen. Als je een connectie opzet wordt alle terugkomende data gezien als informatie op verzoek van binnnen. Vaak is deze aparatuur niet echt heel intelligent en monitort niet zelf de verbinding om te zien of er een TCP CLOSE voorbij komt. Als er een tijdje niks is geweest wordt verder alle informatie vanaf buiten gezien als onvrijwillige data die binnen probeert te komen.
Niet zozeer zo. 't is meer een maatregel om te voorkomen dat de NAT-tabel op een gegeven moment volzit met connecties die niet meer bestaan. Dat er geen RST teruggekomen is, betekent niet dat de verbinding niet pleite kan zijn: een van de twee hosts kan gewoon gecrashed zijn. En als er dan ook nog 's geen verkeer gestuurd wordt, gebeurt er dus heel lang helemaal niks. Op een computert met een gig geheugen is dit niet snel boeiend, maar op een huis-tuin-en-keukenroutertje wel. Dus om te voorkomen dat die tabel volloopt, schoppen ze bij X tijd (meestal een minuut of 5 a 10) geen data over een connectie gewoon de entry uit de tabel. En als er dan iets binnenkomt weet de router niet waar dat bijhoort. Gevolg -> RST. (Meestal. Sommige routers droppen die packets gewoon.) Het is dus juist meer intelligent.
Het heeft meer te maken met de onozelheid van de aparatuur tussen je en je werk. Maar keep alive zou uitkomst moeten bieden.
Keepalive moet werken idd. Dit probleem kom ik ook vaak tegen, dus ik heb dat standaard gewoon al aan staan.

[ Voor 3% gewijzigd door CyBeR op 20-02-2008 02:09 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


  • sam.vimes
  • Registratie: Januari 2007
  • Laatst online: 07-01 22:10
Mijn ssh-connectie gaat door een bedrijfsproxy die verbindingen afkapt als er meer dan 60 seconden geen IP-verkeer is geweest. Daarom heb ik in mijn sshd-config de parameter ClientAliveInterval op 30 gezet, zodat er in elk geval elke 30 seconden iets over de lijn gaat.

(De parameter TCPKeepAlive werkt in dit geval niet omdat die slechts TOT de proxy gaat en niet erdoorheen.)

Verder kan het handig zijn om aan de serverkant indien mogelijk het programma 'screen' te installeren. Hiermee kun je meerdere terminals over een ssh-connectie multiplexen en kun je na een verbroken verbinding de sessie gewoon weer oppakken waar je gebleven was.