Secure Shell is een methode voor het op afstand beheren van een computer of server die beschikbaar is voor Linux, OS X en Windows. Er is een bepaalde time-out voor een SSH-sessie, omdat een open en onbeheerde SSH-sessie een veiligheidsrisico met zich meebrengt. Als je een bepaalde tijd inactief bent, wordt de verbinding verbroken en moet je opnieuw inloggen. Deze time-out wordt bepaald door de TCP-instellingen van uw systeem, maar kan worden overschreven in de serverinstellingen of in de clientinstellingen. Als je merkt dat je SSH-verbinding te vaak uitvalt, kun je altijd je SSH-configuratie aanpassen om je meer of minder inactieve tijd te geven.
TCP-time-out
De time-out van uw server is standaard de TCP-time-out van uw systeem. Dit komt omdat SSH-servers automatisch zijn geconfigureerd om TCPKeepalive te gebruiken, die op een vooraf ingesteld tijdstip een test verzendt wanneer het systeem inactief is om te controleren of de verbinding er nog is. Deze standaard is afhankelijk van uw systeem. Sommige systemen gebruiken een standaardwaarde van slechts vijf seconden en andere tot twee uur; het gemiddelde is meestal ongeveer drie tot vijf minuten. Uw SSH-verbinding, als deze niet is gewijzigd om de time-out aan de server- of clientzijde te wijzigen, zal deze time-out gebruiken. Instellingen in de server of client overschrijven deze time-out.
Video van de dag
Serverbrede time-outinstellingen
Het bewerken van de time-out vanuit het sshd_config-bestand zal de time-outopties wijzigen voor elke client die zich aanmeldt bij de server. Systeembeheerders hebben toegang tot dit bestand via /etc/ssh/sshd_config. Als u een terminal gebruikt en vertrouwd bent met een terminaleditor, kunt u deze volledig in de terminal bewerken door "sudo nano /etc/ssh/sshd_config" in te voeren. Voeg de optie "ClientAliveInterval" toe die de server vertelt een gegevenspakket naar de client te sturen om te controleren op activiteit. Overweeg ook om "ClientAliveCountMax" toe te voegen; dit vertelt de server hoe vaak het moet controleren zonder een reactie te krijgen. Zet er geen hekje voor; regels met een hekje ervoor worden beschouwd als opmerkingen en zijn geen actieve opties op de server. Als u bijvoorbeeld uw ClientAliveInterval op vijf minuten en uw ClientAliveCountMax op twee wilt instellen, kan het er als volgt uitzien: ClientAliveInterval 300ClientAliveCountMax 2
Clientgebaseerde time-out
Als u een client zoals Putty gebruikt, kunt u de time-out wijzigen door op de optie "Verbinding" te klikken op de zijbalk en vul uw gewenste tijd in het tekstvak naast "Seconds Between Keepalives" in seconden. Dit moet volledig gebaseerd zijn op hoe lang u denkt inactief te zijn tussen activiteiten. U kunt dit ook handmatig wijzigen door uw client-side instellingsbestanden te openen in /etc/ssh/ssh_config – let op het verschil tussen het serverbestand "sshd_config". Voeg de instelling "ServerAliveInterval" toe en stel in seconden in hoe vaak u de client pakketten wilt laten verzenden om de verbinding actief te houden.
Risico's van het wijzigen van de time-out
Het is duidelijk dat het wijzigen van de time-out een kwestie van gemak is - het stelt je in staat om te multitasken zonder dat je je login op je SSH-server regelmatig hoeft te vernieuwen. Dit betekent echter dat u waakzamer moet blijven op uw bureaublad. Als je wegloopt van je computer met een open SSH-verbinding, kan iedereen gaan zitten en toegang krijgen tot je server. Terwijl het open laten staan van een SSH-verbinding voor thuisgebruik minder zorgwekkend is dan wanneer u dit voor u doet, de gewoonte hebben om je verbinding open te laten, kan behoorlijk vreselijke gevolgen hebben in de verkeerde richting handen.