Als u veel tijd doorbrengt op de opdrachtregel, bent u wellicht tegen een vervelend probleem aangelopen waarbij uw sessie na een relatief korte periode van inactiviteit wordt afgebroken. Hoewel dit vanuit beveiligingsoogpunt wenselijk is, kan het problemen veroorzaken wanneer u een langlopende bewerking probeert uit te voeren.
Wat er meestal gebeurt, is dat uw verbinding met de server wordt gereset wanneer u een tijdje inactief bent geweest, wat meestal de foutmelding oplevert: Connection reset by peer. Om dit te omzeilen, moet u een Keep Alive-optie instellen op de server.
In deze gids leert u hoe u de time-out van een SSH-verbinding kunt voorkomen en uw SSH-sessie in leven kunt houden, zelfs na enige inactiviteit in Linux.
Verhoog SSH Verbinding Timeout
Op de server, ga naar het /etc/ssh/sshd_config
configuratie bestand.
$ sudo vi /etc/ssh/sshd_config
Scroll en zoek de volgende parameters:
#ClientAliveInterval #ClientAliveCountMax
Waar,
-
ClientAliveInterval
: Stelt een timeout interval in seconden in waarna als er geen data is ontvangen van de client, sshd een bericht zal sturen via het versleutelde kanaal om een antwoord te vragen van de client. De standaardwaarde is 0, wat aangeeft dat deze berichten niet naar de cliënt zullen worden gestuurd. Deze optie is alleen van toepassing op protocol versie 2. -
ClientAliveCountMax
: Stelt het aantal client alive berichten in dat verstuurd mag worden zonder dat sshd berichten terug ontvangt van de client. Als deze drempel wordt bereikt terwijl client alive berichten worden verzonden, verbreekt sshd de verbinding met de client en wordt de sessie beëindigd.
De timeout waarde wordt gegeven door het product van de bovenstaande parameters i.e.
Timeout value = ClientAliveInterval * ClientAliveCountMax
Stel bijvoorbeeld dat u uw parameters als volgt hebt ingesteld:
ClientAliveInterval 1200ClientAliveCountMax 3
De time-outwaarde zal 1200 seconden * 3 = 3600 seconden zijn. Dit komt overeen met 1 uur, wat betekent dat uw ssh-sessie gedurende 1 uur in leven zal blijven zonder te stoppen.
Aternatief kunt u hetzelfde resultaat bereiken door alleen de parameter ClientAliveInterval op te geven.
ClientAliveInterval 3600
Als u klaar bent, laadt u de OpenSSH-daemon opnieuw zodat de wijzigingen van kracht worden.
$ sudo systemctl reload sshd