jak zrobić połączenie ssh Kit nigdy nie przekroczyć limitu czasu, gdy użytkownik jest bezczynny?

36

Mam zakupiony serwer Ubuntu 12.04, jeśli połączę się z kitem za pomocą ssh, a użytkownik sudoer po pewnym czasie rozłączy się z serwerem, jeśli jestem bezczynny

Jak skonfigurować Ubuntu, aby utrzymywało to połączenie przez czas nieokreślony?

David MZ
źródło

Odpowiedzi:

47

Jeśli przejdziesz do ustawień szpachli -> Połączenie i ustawisz wartość „Sekundy między utrzymywaniem” na 30 sekund, powinno to rozwiązać problem.

Konfiguracja PuTTY

das Keks
źródło
2
?????? „0, aby wyłączyć” lub 30, aby wyłączyć ????????? Myślę, że musi postawić 0 zamiast 30!
kokbira
1
Nie, to czas między utrzymaniami. Jeśli ustawisz na 0, nie będą wysyłane żadne keepalives, ale chcesz, aby kit wysyłał keepalives, aby utrzymać połączenie przy życiu.
das Keks,
1
Dlaczego 30 sekund? Powiedział, że nigdy nie ma limitu czasu, więc powinno to być „9999999999999”?
NoName
1
@NoName Ponieważ ustawienie dotyczy „interwału podtrzymywania”. Oznacza to, że wysyła „ping” co 30 sekund, aby zapobiec przekroczeniu limitu czasu połączenia.
das Keks
1
Dla mnie to działało bez pola wyboru tcp. Ponieważ połączenie tcp służy do wysyłania „pakietu zerowego”, może nie być konieczne dodatkowe utrzymywanie tcp. Jeśli bezczynne połączenia TCP zostaną zabite przez router lub zaporę w ciągu kilku sekund, to pole wyboru może pomóc (lub ustawić sekundy między keepalives na 5, a nawet 1).
das Keks
10

Oprócz odpowiedzi z „das Keks” istnieje co najmniej jeden inny aspekt, który może wpłynąć na to zachowanie. Bash (zwykle domyślna powłoka w systemie Ubuntu) ma wartość, TMOUTktóra rządzi (wartość dziesiętna w sekundach), po upływie której upłynie limit czasu bezczynnej sesji powłoki i użytkownik zostanie wylogowany, co spowoduje rozłączenie w sesji SSH.


Ponadto zdecydowanie zalecam zrobienie czegoś zupełnie innego. Skonfiguruj byobu(lub nawet tmuxsam, ponieważ jest lepszy od GNU screen) i zawsze loguj się i dołącz do istniejącej sesji (to jest GNU screeni tmuxterminologia). W ten sposób, nawet jeśli zostaniesz rozłączony siłą - spójrzmy prawdzie w oczy, zawsze może dojść do przerwy w dostawie prądu lub przerwy w sieci - zawsze możesz wznowić pracę tam, gdzie ją opuściłeś. I to działa na różnych maszynach. Możesz więc połączyć się z tą samą sesją z innego komputera (np. Z domu). Możliwości są różnorodne i jest to prawdziwy wzrost wydajności. I nie można zapominać, że multipleksery terminali pokonują jedną z dużych wad PuTTY: brak interfejsu z kartami. Teraz masz „zakładki”screentmux

apt-get install tmux
apt-get install byobu

Byobu to niezła nakładka na oba multipleksery terminali, ale tmuxjest tak wygodna, że ​​moim zdaniem byobuw dużym stopniu się dezaktualizuje . Tak więc moim zaleceniem byłobytmux .

Szukaj również dla „dotfiles”, w szczególności tmux.conforaz .tmux.confw internecie na wielu dobrych dostosowań, aby zacząć grę.

0xC0000022L
źródło
6

Przejdź do opcji PuTTy -> Połączenie

  1. Zmień wartość domyślną na „Sekundy między utrzymywaniem (0 sekund, aby wyłączyć)”
    • zmień z 0 na 60 (1 minut) - To się zmienia ... zmniejsz, jeśli 1 minuta nie pomoże
  2. Zaznacz pole wyboru „Włącz TCP_keepalives (opcja SO_KEEPALIVE)”.
  3. Na koniec zapisz ustawienie dla sesji
Rajesz
źródło
0

Utrzymuję moje sesje PuTTY przy życiu, monitorując dzienniki cron

tail -f /var/log/cron

Chcę, aby sesja PuTTY była żywa, ponieważ pośredniczę w skarpetkach.

Francis Suan
źródło
0

Limit 30 sekund nigdy nie działał dla mnie, więc spróbowałem trochę pograć i wymyśliłem rozwiązanie, zwiększając limit do 240 (4 minuty), teraz działa to jak urok

shahnshah
źródło