Jak utrzymać połączenie SSH przy życiu?


12

Jak mogę utrzymać połączenie SSH przy życiu bez aktywnego korzystania z niego. Kiedy go używam, działa dobrze, ale kiedy nie używam go przez kilka minut, rozłącza się. Kiedy otrzymuję wiadomość e-mail za każdym razem, gdy się łączę, jak mogę utrzymać sesję SSH przy życiu?

Uwaga: w moim .ssh/configpliku u góry mam

Host *
ServerAliveInterval 3

ale wydaje się, że to nie działa.


Jaki klient ssh? 3 jest za krótki, użyj odstępu 60. Możesz również umieścić to w / etc / ssh / ssh_config, jeśli masz uprawnienia roota.
Panther

*powinny być wszystkie, prawda?
NerdOfLinux

Nie sądzę, aby działało to z PuTTY
Panther

Odpowiedzi:


11

Musisz określić liczbę prób i interwał wysyłania pakietu do serwera. W swoim .ssh/configpliku możesz umieścić następujące linie :

Host examplehost
    Hostname examplehost.com
    ServerAliveInterval 180
    ServerAliveCountMax 2

Spowoduje to wysłanie pakietu do serwera co 180 sekund (3 minuty) i spróbuje dwa razy, zanim zamknie połączenie po nieotrzymaniu odpowiedzi od klienta.


2
Zupełnie zapomniałem o tym ServerAliveCountMax, co prawdopodobnie rozwiązało mój problem.
NerdOfLinux

5

W systemach operacyjnych Linux i Apple Mac OS X ~/.ssh/configplik umożliwia określenie wielu ustawień SSH, w tym tych, które utrzymują połączenie SSH. Aby to zrobić, wykonaj następujące kroki:

  1. Użyj preferowanego edytora tekstu, aby otworzyć ~/.ssh/configplik na komputerze lokalnym. Uwaga: Jeśli .sshkatalog lub plik konfiguracyjny nie istnieją, utwórz je.

  2. Dodaj następujące wiersze do pliku konfiguracyjnego. Wartością hosta może być dowolna nazwa; jest to po prostu etykieta dla innych ustawień. Wartość nazwy hosta to host zdalny, do którego chcesz uzyskać dostęp; zastąp example.com nazwą swojej domeny. Zastąp nazwę użytkownika własną nazwą użytkownika konta hostingowego:


    Host example
        Hostname example.com
        Port 7822
        User username
        ServerAliveInterval 240
        ServerAliveCountMax 2

W tej konfiguracji klient SSH wysyła pakiet do serwera co 240 sekund (4 minuty), aby utrzymać połączenie przy życiu. Jeśli klient nie otrzyma odpowiedzi po dwóch próbach (określonych w ustawieniu ServerAliveCountMax), zamyka połączenie.

Aby uzyskać szczegółowe informacje o wszystkich dostępnych ustawieniach konfiguracji SSH, wpisz man ssh_configw wierszu polecenia.

  1. Zapisz zmiany w pliku konfiguracyjnym.

  2. Połącz się ze swoim kontem za pomocą SSH. Aby to zrobić, po prostu wpisz ssh example, gdzie example reprezentuje wartość hosta określoną w kroku 2.

Monitoruj połączenie. Jeśli nadal spada, stopniowo zmniejszaj ServerAliveIntervalustawienia w pliku konfiguracyjnym, aż połączenie będzie stabilne.

Sprawdź następujący adres URL, aby uzyskać więcej informacji https://www.a2hosting.com/kb/getting-started-guide/accessing-your-account/keeping-ssh-connections-alive


5

Możesz także dodać te argumenty w poleceniu ssh, tak jak ...

ssh -o ServerAliveInterval=180 -o ServerAliveCountMax=2 $HOST
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.