Friday, September 16, 2011

Sposób na zrywane sesje SSH

Nie wiem dlaczego, ale albo mój router, albo mój dostawca (UPC) wciąż zrywa nieaktywne sesje SSH. Nie ma mowy o zostawieniu Puttego w tle choćby na kwadrans. Po kilku minutach okno informuje mnie iż połączenie zostało zerwane i muszę wracać do mojej pracy ponownie. Frustrujące.

Jest na to sposób. Zostawienie otwartego w konsoli Screena, który na dolnym pasku wyświetla godzinę. Tak więc wpis:
caption always "%`$USER%`@%H: %{kg} %L=%-Lw%45>%{yk}%n%f* %t%{-}%+Lw%-0< %= %{yk}%c%{kg} load:%l"
w pliku ~/.screenrc właściwie załatwia sprawę. Kwestia startowania sesji podczas każdego logowania. Można to załawić dodając na końcu pliku ~/.bashrc
# Start or resume screen
if [[ -n "`screen -ls | egrep '\.default(.*)(Detached)'`" ]]; then
    screen -r default
elif [[ -n "`screen -ls | egrep '\.default(.*)(Attached)'`" ]]; then
    false
else
    screen -S default
fi

4 comments:

Anonymous said...

Nie pomagało włączenie w gałęzi Connection opcji Enable TCP Keepalives?

Johny JKJK said...

Nie pomogło.

S. said...

ziomus. Po pierwsze primo to UPC zrywa sesje tcp kazdemu ze wzgledu na to ze taka polityke sobie wprwoadzili. Po drugie primo, wystarczy


ClientAliveInterval 120

w /etc/ssh/sshd_config i problem rozwiazany. a Po trzecie juz od Twojego screena przekombinowanego lepiej odpalic tmuxa (on wyswietla godzine wiec co minute sie odswieza ekran).

Puzon said...

Włączyłem ClientAliveInterval ale to niewiele pomogło. Okazuje się, że badziewiasty modem od UPC może pracować w paśmie 5Ghz i to jest rozwiązanie problemów - przestawiłem go na 5G, wyłączyłem na wszelki wypadek wmm_powersafe. Jeśli macie urządzenia które muszą pracować w 2,4 to polecam dokupić jakiegoś prostego Edimax'a za 50zł i podłączyć go jako Accesspoint.