SSH zawiesza się, gdy jest bezczynny przez pewien czas

9

Łączenie z sshklienta Ubuntu Desktop x64 14.04 z serwerem Ubuntu Server 14.04 x64 SSH na Microsoft Azure.

Niestety, kiedy jest podłączony i pozostawiony bezczynny przez pewien czas; połączenie zawiesza się, ale nie rozłącza.

Próbowałem ustawić te zmienne na moim serwerze /etc/ssh/sshd_config:

ClientAliveInterval 30
TCPKeepAlive yes
ClientAliveCountMax 99999
W
źródło
man ssh_config może pomóc po stronie klienta
c4f4t0r
Czy połączenie zostanie rozłączone, jeśli naciśniesz klawisz w oknie SSH po zamrożeniu? Odłączenie może potrwać minutę lub dwie. W takim przypadku problemy z połączeniem sieciowym między nimi powodują ten problem.
Tero Kilkanen,
Widzę to samo podczas łączenia przez SSH z serwerami Rackspace Cloud po aktualizacji mojej stacji roboczej do 14.04. Oznacza to, że jest to błąd klienta, a nie coś złego w przypadku sshd lub Azure.
jalefkowit
Miałem ten sam problem, rozwiązałem go za pomocą Mosha.
Janus Troelsen
Aby obejść ten problem, uruchamiam ten skrypt na biegu jałowym:while true; do echo -n $'\r'$i; echo -n $(date +"%H:%M:%S"); sleep 5; done
LatinSuD

Odpowiedzi:

6

na łączącym się kliencie, w / etc / ssh / ssh_config, spróbuj:

ServerAliveInterval 60

nie jestem pewien, dlaczego ClientAliveInterval nie działa dla ciebie na serwerze ... może musisz zrestartować sshd, jeśli nie zrobiłeś tego po dodaniu dyrektywy ClientAliveInterval?

jeśli nie masz root na kliencie, możesz włożyć ServerAliveInterval

~ / .ssh / config

nandoP
źródło
2
Być może KeepAlive yesbrakuje. W każdym razie uważam, że Keepalives ładnie rozwiąże problem tego użytkownika. Jedynym ryzykiem związanym z keepalives jest to, że problemy z połączeniem mogą spowodować utratę połączenia, podczas gdy bez keepalives niektóre problemy z łącznością między tobą a serwerem mogą pozostać niezauważone.
regulatre