Podczas połączenia SSH z niektórymi serwerami po dłuższej bezczynności sesja SSH zawiesza się (nic nie można wpisać w konsoli) – połączenie ulega zerwaniu. Ten problem dotyczy tylko niektórych serwerów, w większości z którymi miałem do czynienia nie występował. Dotychczas po prostu zamykałem terminal i nawiązywałem nowe połączenie. Jest jednak sposób na podtrzymanie połączenia SSH przy bezczonności.
Wystarczy odpowiednia konfiguracja swojego klienta SSH tak aby co określoną liczbę sekund wysyłał do serwera informację podtrzymująca połączenie. W przypadku OpenSSH jest kilka możliwości.
konfiguracja OpenSSH dla całego systemu
W pliku /etc/ssh/ssh_config
należy dopisać:
ServerAliveInterval 60
60 sekund powinno być odpowiednim czasem, ale w razie potrzeby można go zmienić.
konfiguracja OpenSSH dla wybranego użytkownika
W pliku ~/.ssh/config
(jeśli nie istnieje to należy stworzyć) dopisujemy:
Host example.net HostName example.net ServerAliveInterval 60
Można również ustawić podtrzymywanie połączenia dla wszystkich serwerów z którymi będzie się łączył użytkownik. Wtedy zamiast wcześniejszego wpisu należy dodać następujący:
Host * ServerAliveInterval 60