Zapobiegaj przekroczeniu czasu połączenia SSH / uszkodzeniu rury

Jak zapobiec rozłączaniu się sesji SSH z serwerem. Przekroczono limit czasu połączenia lub przerwana rura

Zarówno jako użytkownik Windows jak również przez Mac (w ciągu ostatnich 10 lat) spędziłem dużo czasu w Połączenia SSH do serwerów internetowych, serwerów poczty elektronicznej, chmury i innych pakietów kopii zapasowych. Ulubioną dystrybucją Linuksa jest niewątpliwie CentOS.

Jedną z najbardziej stresujących rzeczy dla administratorów serwerów jest przerywać połączenia SSH. Albo nagle, podczas zapinania guzika w Putty lub Terminalu (najczęściej jest to problem z połączeniem lokalnym), albo po chwili „bezczynny”- okres czasu, w którym nie współdziała ze zdalnym serwerem poprzez sesję SSH.

Jeśli używasz Mac i użyj narzędzia Terminal do zdalnego połączenia przez SSH, wtedy z pewnością zostałeś rozłączony z komunikatem:client_loop: wyślij rozłączenie: Uszkodzony potok”. Podałem rozwiązanie artykuł tutaj, w którym powiedziałem, że można go dodać w „/etc/ssh/ssh_config" linia:

Host *
ServerAliveInterval 120

Powyższe rozwiązanie dotyczy użytkowników Maci szczerze mówiąc być najnowszymi aktualizacjami macOS nie mam nic przeciwko restart zmiany wprowadzone w pliku „ssh_config”, I powraca problem z rozłączaniem bezczynnej sesji.

Rozwiązanie, dzięki któremu możemy zapobiec rozłączaniu sesji SSH na odległość określoną przez terminal (macOS) lub kit (Windows), jest jak „ServerAliveInterval„Z naszego komputera, aby określić zdalny serwer do okresowej komunikacji z aplikacją / klientem SSH.
Dlatego musimy wprowadzić dyrektywę „ClientAliveInterval" w "sshd_config„Na serwerze, z którym się łączymy.

Zapobiegaj przekroczeniu czasu połączenia SSH / uszkodzeniu rury (ssh_config Tips)

1. Łączymy się z serwerem, który chcemy aktywować i ustawiamy przedział czasowy dla „ClientAliveInternal”. Otwieramy SSH w Putty, Terminalu lub innym podobnym narzędziu i uwierzytelniamy się z użytkownikiem root.

ssh [email protected]

2. Uruchom wiersz poleceń, aby przeszukać plik „sshd_config”, jeśli „ClientAliveInterval” jest aktywny i jaki okres jest ustawiony.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

W naszym scenariuszu „ClientAliveInterval” jest wyłączony, a wartość przedziału czasu wynosi zero.

[[email protected] ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[[email protected] ~]# 

Hashtag „#„Umieszczony przed linią anuluje ją. Ona jest nieaktywna.

3. Otwieramy w edytorze "nano"Lub"vim"Plik"sshd_config„. Wolę „nano”.

sudo nano /etc/ssh/sshd_config

4. Usuń „#„Przed linią”ClientAliveInterval„I ustaw liczbę sekund: 60, 120…

ClientAliveInterval 120
ClientAliveCountMax 10

5. Zapisz zmiany i restartMam usługę ”sshd".

sudo systemctl restart sshd

ClientAliveInterval : Jest to przedział czasu w sekundach, w którym serwer wysyła zerowy pakiet danych do klienta / aplikacji, przez którą łączymy się z serwerem. Ta praktyka utrzyma połączenie aktywne / aktywne.

ClientAliveCountMax : Nieodpowiadający klienci SSH w 10 cyklach po 120 sekund (ustawiane przez „ClientAliveInterval”) połączenie zostanie przerwane. Oznacza to, że po 20 minutach, w których klient SSH nie odpowiedział na pakiety zerowe wysłane przez serwer.

Dzięki tym zmianom połączenie SSH będzie bardziej stabilne i równie bezpieczne.

Dodaj komentarz

Twój e-mail address nie zostanie opublikowany. Wymagane pola są oznaczone *

Suma
0
Akcje
Poprzedni artykuł

Jak widzimy, czego szukają użytkownicy w witrynie WordPress lub sklepie internetowym WooCommerce (zapytanie w polu wyszukiwania)

Następny artykuł

Nie słychać dźwięku w „Opróżnionym koszu”? [Jak naprawić]