Vad är standard timeout på SSH?

Secure Shell är en metod för att fjärrstyra en dator eller server som är tillgänglig för Linux, OS X och Windows. En tidsgräns för en SSH-session med vissa intervaller, eftersom en öppen och obevakad SSH-session utgör en säkerhetsrisk. Om du är inaktiv under en viss tid stängs anslutningen av och du kommer att tvingas logga in igen. Denna timeout definieras av ditt systems TCP-inställningar, men kan åsidosättas i serverinställningarna eller i klientinställningarna. Om du upptäcker att din SSH-anslutning timeout för ofta, kan du alltid redigera din SSH-konfiguration för att ge dig mer eller mindre inaktiv tid.

TCP Timeout

Din servers timeout är som standard ditt systems TCP-timeout. Detta beror på att SSH-servrar automatiskt är konfigurerade att använda TCPKeepalive, som skickar ut en sond vid en förinställd tidpunkt när systemet är inaktivt för att kontrollera att anslutningen fortfarande finns där. Denna standard varierar beroende på ditt system. Vissa system använder en standard så låg som fem sekunder, och vissa går så hög som två timmar; genomsnittet är vanligtvis cirka tre till fem minuter. Din SSH-anslutning kommer att använda denna timeout, om den inte har ändrats för att ändra timeout varken på servern eller klientsidan. Inställningar på servern eller klienten kommer att åsidosätta denna timeout.

Dagens video

Server-wide timeout-inställningar

Redigering av timeout från filen sshd_config kommer att ändra timeout-alternativen för varje klient som loggar in på servern. Systemadministratörer kan komma åt den här filen på /etc/ssh/sshd_config. Om du använder en terminal och är bekväm med en terminalredigerare kan du redigera den helt i terminalen genom att ange "sudo nano /etc/ssh/sshd_config". Lägg till alternativet "ClientAliveInterval" som säger åt servern att skicka ett datapaket till klienten för att kontrollera aktivitet. Du bör överväga att lägga till "ClientAliveCountMax" också; detta talar om för servern hur många gånger den ska kontrollera utan att få något svar. Sätt inte ett pundtecken framför dessa; rader med pundtecken framför sig betraktas som kommentarer och är inte aktiva alternativ på servern. Om du till exempel vill ställa in ditt ClientAliveInterval till fem minuter och ditt ClientAliveCountMax till två kan det se ut så här: ClientAliveInterval 300ClientAliveCountMax 2

Klientbaserad timeout

Om du använder en klient som Putty kan du ändra tidsgränsen genom att klicka på alternativet "Anslutning" på sidofältet och fyll i önskad tid i textrutan bredvid "Seconds Between Keepalives" i sekunder. Detta bör helt och hållet baseras på hur länge du tror att du kommer att vara inaktiv mellan aktiviteten. Du kan också ändra detta manuellt genom att öppna dina inställningsfiler på klientsidan på /etc/ssh/ssh_config – notera skillnaden mellan serverfilen "sshd_config". Lägg till inställningen "ServerAliveInterval" och ställ in i sekunder hur ofta du vill att klienten ska skicka paket för att hålla anslutningen aktiv.

Risker med att ändra timeout

Att ändra timeout är uppenbarligen en bekvämlighetsfråga – det låter dig göra flera saker utan att ofta behöva förnya din inloggning till din SSH-server. Detta betyder dock att du måste vara mer vaksam vid skrivbordet. Om du går bort från din dator med en SSH-anslutning öppen kan vem som helst sitta ner och komma åt din server. Även om det är mindre oroande att lämna en SSH-anslutning öppen för hemmabruk än när du gör det åt dig, att ha för vana att lämna din anslutning öppen kan få ganska hemska konsekvenser i fel händer.