Jak zapobiec limitowi czasu połączenia SSH w Linuksie

Jeśli spędzasz dużo czasu w wierszu poleceń, mogłeś natknąć się na irytujący problem, w którym twoja sesja kończy się po stosunkowo krótkim okresie bezczynności. Chociaż jest to pożądane z punktu widzenia bezpieczeństwa, może powodować problemy, gdy próbujesz wykonać długotrwałą operację.
Zwykle to, co się dzieje, to fakt, że twoje połączenie z serwerem jest resetowane, gdy jesteś bezczynny przez jakiś czas, zazwyczaj produkując błąd: Connection reset by peer. Aby to obejść, należy ustawić opcję Keep Alive na serwerze.

Zobacz także : Instalacja i konfiguracja OpenSSH-server w systemie Linux

W tym poradniku dowiesz się, jak zapobiegać timeoutowi połączenia SSH i utrzymywać sesję SSH przy życiu nawet po pewnym czasie bezczynności w systemie Linux.

Zwiększanie limitu czasu połączenia SSH

Na serwerze przejdź do pliku konfiguracyjnego /etc/ssh/sshd_config.

$ sudo vi /etc/ssh/sshd_config

Przewiń i znajdź następujące parametry:

#ClientAliveInterval #ClientAliveCountMax

Gdzie,

  • ClientAliveInterval: Ustawia limit czasu w sekundach, po którym, jeśli nie otrzymano żadnych danych od klienta, sshd wyśle wiadomość przez zaszyfrowany kanał, aby zażądać odpowiedzi od klienta. Domyślnie jest to 0, co oznacza, że takie wiadomości nie będą wysyłane do klienta. Ta opcja dotyczy tylko protokołu w wersji 2.
  • ClientAliveCountMax: Ustawia liczbę wiadomości client alive, które mogą być wysłane bez otrzymania przez sshd jakichkolwiek wiadomości z powrotem od klienta. Jeśli ten próg zostanie osiągnięty podczas wysyłania wiadomości client alive, sshd rozłączy klienta, kończąc sesję.

Wartość timeout jest podawana przez iloczyn powyższych parametrów i.e.

Timeout value = ClientAliveInterval * ClientAliveCountMax

Na przykład, powiedzmy, że zdefiniowałeś swoje parametry jak pokazano:

ClientAliveInterval 1200ClientAliveCountMax 3
Zwiększanie SSH Timeout

Wartość Timeout będzie wynosić 1200 sekund * 3 = 3600 sekund. Jest to odpowiednik 1 godziny, co oznacza, że twoja sesja ssh pozostanie żywa przez czas bezczynności 1 godziny bez porzucania.
Alternatywnie, możesz osiągnąć ten sam rezultat określając sam parametr ClientAliveInterval.

ClientAliveInterval 3600

Jak już to zrobisz, przeładuj demona OpenSSH, aby zmiany weszły w życie.

$ sudo systemctl reload sshd

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.