Sådan forhindrer du SSH Connection Timeout i Linux

Hvis du bruger meget tid på kommandolinjen, er du måske stødt på et irriterende problem, hvor din session går i stå efter en relativt kort periode uden aktivitet. Selv om dette er ønskeligt ud fra et sikkerhedsperspektiv, kan det give problemer, når du forsøger at udføre en operation, der kører i lang tid.
Det, der normalt sker, er, at din forbindelse til serveren nulstilles, når du har været inaktiv i et stykke tid, hvilket typisk producerer fejlen: Connection reset by peer. For at omgå dette skal du indstille en Keep Alive-indstilling på serveren.

Se også : Installér og konfigurer OpenSSH-server på Linux

I denne vejledning lærer du, hvordan du kan forhindre SSH-forbindelses-timeout og holde din SSH-session i live selv efter en vis inaktivitet i Linux.

Hæv SSH Connection Timeout

På serveren skal du gå over til konfigurationsfilen /etc/ssh/sshd_config.

$ sudo vi /etc/ssh/sshd_config

Rul og find følgende parametre:

#ClientAliveInterval #ClientAliveCountMax

Hvor,

  • ClientAliveInterval: Indstiller et timeout-interval i sekunder, hvorefter sshd, hvis der ikke er modtaget data fra klienten, sender en besked gennem den krypterede kanal for at anmode om et svar fra klienten, hvis der ikke er modtaget data fra klienten. Standardværdien er 0, hvilket angiver, at disse meddelelser ikke vil blive sendt til klienten. Denne indstilling gælder kun for protokolversion 2.
  • ClientAliveCountMax: Indstiller antallet af client alive-meddelelser, som kan sendes, uden at sshd modtager nogen meddelelser tilbage fra klienten. Hvis denne tærskel nås, mens der sendes client alive-meddelelser, afbryder sshd forbindelsen til klienten og afslutter sessionen.
  • Timeout-værdien er givet ved produktet af de ovenstående parametre i.e.

Timeout value = ClientAliveInterval * ClientAliveCountMax

For eksempel, lad os sige, at du har defineret dine parametre som vist:

ClientAliveInterval 1200ClientAliveCountMax 3
Increase SSH Timeout

Timeout-værdien vil være 1200 sekunder * 3 = 3600 sekunder. Dette svarer til 1 time, hvilket indebærer, at din ssh-session vil forblive i live i en tomgangsperiode på 1 time uden at blive droppet.
Alternativt kan du opnå det samme resultat ved at angive ClientAliveInterval-parameteren alene.

ClientAliveInterval 3600

Når du er færdig, skal du genindlæse OpenSSH-dæmonen for at ændringerne træder i kraft.

$ sudo systemctl reload sshd

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.