Secure Shell to metoda zdalnego zarządzania komputerem lub serwerem dostępna w systemach Linux, OS X i Windows. Sesja SSH w określonych odstępach czasu wygasa, ponieważ otwarta i nienadzorowana sesja SSH stanowi zagrożenie bezpieczeństwa. Jeśli będziesz nieaktywny przez pewien czas, połączenie zostanie przerwane i będziesz zmuszony do ponownego zalogowania. Ten limit czasu jest definiowany przez ustawienia TCP systemu, ale można go zastąpić w ustawieniach serwera lub w ustawieniach klienta. Jeśli zauważysz, że Twoje połączenie SSH zbyt często kończy się limitem czasu, zawsze możesz edytować konfigurację SSH, aby uzyskać mniej lub bardziej nieaktywny czas.
Limit czasu TCP
Limit czasu twojego serwera jest domyślnie ustawiony na limit czasu TCP twojego systemu. Dzieje się tak, ponieważ serwery SSH są automatycznie konfigurowane do korzystania z protokołu TCPKeepalive, który wysyła sondę w ustalonym czasie, gdy system jest bezczynny, aby sprawdzić, czy połączenie nadal istnieje. Ta wartość domyślna różni się w zależności od systemu. Niektóre systemy używają domyślnie zaledwie pięciu sekund, a niektóre nawet dwóch godzin; średnia wynosi zwykle około trzech do pięciu minut. Twoje połączenie SSH, jeśli nie zostało zmodyfikowane w celu zmiany limitu czasu po stronie serwera lub klienta, użyje tego limitu czasu. Ustawienia na serwerze lub kliencie zastąpią ten limit czasu.
Wideo dnia
Ustawienia limitu czasu dla całego serwera
Edycja limitu czasu z pliku sshd_config zmieni opcje limitu czasu dla każdego klienta logującego się do serwera. Administratorzy systemu mogą uzyskać dostęp do tego pliku w /etc/ssh/sshd_config. Jeśli używasz terminala i nie masz nic przeciwko edytorowi terminali, możesz go całkowicie edytować w terminalu, wpisując „sudo nano /etc/ssh/sshd_config”. Dodaj opcję „ClientAliveInterval”, która mówi serwerowi, aby wysłał pakiet danych do klienta w celu sprawdzenia aktywności. Powinieneś również rozważyć dodanie "ClientAliveCountMax"; to mówi serwerowi, ile razy powinien sprawdzać bez otrzymania odpowiedzi. Nie stawiaj przed nimi znaku funta; linie z krzyżykami przed nimi są uważane za komentarze i nie są aktywnymi opcjami na serwerze. Na przykład, jeśli chcesz ustawić ClientAliveInterval na pięć minut, a ClientAliveCountMax na dwa, może to wyglądać tak: ClientAliveInterval 300ClientAliveCountMax 2
Limit czasu oparty na kliencie
Jeśli używasz klienta takiego jak Putty, możesz zmienić limit czasu, klikając opcję „Połączenie” na na pasku bocznym i wpisz preferowany czas w polu tekstowym obok „Seconds Between Keepalives” w sekundy. Powinno to być całkowicie oparte na tym, jak długo myślisz, że będziesz nieaktywny między aktywnościami. Możesz również zmienić to ręcznie, otwierając pliki ustawień po stronie klienta w /etc/ssh/ssh_config – zauważ różnicę między plikiem serwera „sshd_config”. Dodaj ustawienie „ServerAliveInterval” i ustaw w sekundach, jak często klient ma wysyłać pakiety, aby utrzymać aktywne połączenie.
Ryzyko zmiany limitu czasu
Oczywiście zmiana limitu czasu to kwestia wygody – pozwala na wielozadaniowość bez konieczności częstego odnawiania logowania do serwera SSH. Oznacza to jednak, że musisz zachować większą czujność przy swoim pulpicie. Jeśli odejdziesz od komputera z otwartym połączeniem SSH, każdy może usiąść i uzyskać dostęp do Twojego serwera. Chociaż pozostawienie otwartego połączenia SSH do użytku domowego jest mniej niepokojące niż wtedy, gdy robisz to dla siebie, bycie w zwyczaju pozostawiania otwartego połączenia może mieć dość straszne konsekwencje w złej sytuacji ręce.