Jeśli jesteś zwykłym użytkownikiem SSH, prawdopodobnie zauważyłeś, że czasami „rozłącza się”. Aby to naprawić, wystarczy trochę pobrudzić sobie ręce i zmienić niektóre pliki konfiguracyjne. |
Aby to zrobić, musisz zmienić wartości przypisane do 2 zmiennych ServerAliveCountMax i ServerAliveInterval.
ServerAliveCountMax ustawia liczbę komunikatów „serwer żyje”, które mogą być wysłane bez otrzymywania przez ssh odpowiedzi z serwera. Ten typ wiadomości jest niezbędny, aby wiedzieć, czy połączenie jest nadal aktywne, czy nie (być może serwer "zszedł" itp.).
ServerAliveInterval ustawia interwał (w sekundach), po którym w przypadku braku odpowiedzi z serwera ssh wyśle ponownie wiadomość z żądaniem odpowiedzi.
Na kliencie
Aby zmiany odniosły skutek dla wszystkich użytkowników, plik musi zostać zmodyfikowany / etc / ssh / ssh_config. Z drugiej strony, jeśli chcesz, aby zmiany odniosły skutek tylko dla Twojego użytkownika, zmodyfikuj plik ~ / .ssh / config.
Dodaj następujące elementy w pliku konfiguracyjnym SSH:
Gospodarz *
ServerAliveInterval 300
SerwerAliveCountMax 3
Na serwerze
Aby serwer utrzymywał aktywne połączenia ze wszystkimi klientami, dodaj w pliku następujący fragment / etc / ssh / sshd_config:
ServerAliveInterval 300
SerwerAliveCountMax 3
Taka konfiguracja powoduje, że klient / serwer wysyła wiadomość do swojego odpowiednika co 300 sekund (5 minut) i rezygnuje przy trzeciej okazji, jeśli nie otrzymał żadnej odpowiedzi.
http://mosh.mit.edu/
Bardzo dobrze nawet, że w Archlinux edytujemy ten sam plik / etc / ssh / sshd_config i odkomentowujemy (usuwamy #) ClientAliveInterval i zmieniamy wartość z 0 na 300, odkomentowujemy również ClientAliveCountMax i zostawiamy domyślną wartość 3 (to dla Klienta) .
Bardzo dziękuję za informację, dzięki temu zaoszczędzę dużo pracy.