Mam pytanie, na które nie znalazłem odpowiedzi. Mam dwa komputery, z których oba uruchamiają Ubuntu 12.04. Trzymam jeden z moich komputerów w domu i używam SSH do łączenia się z nim z drugiego („zdalnego”) komputera. Komputer zdalny może bez problemu połączyć się z komputerem domowym. Komputer zdalny ma również SetAliveInterval ustawiony na 60 w / etc / ssh / ssh_config, tak że połączenie nie znika, jeśli odejdę na chwilę od komputera.
Czasami moje połączenie internetowe na moim zdalnym komputerze zostaje przerwane. Przerwy internetowe powodują zamknięcie mojego tunelu SSH (oczywiście). Jednak po przywróceniu połączenia internetowego i ponownym połączeniu z komputerem domowym za pomocą nowego tunelu SSH widzę, #ps ax
że stary proces połączenia SSH nadal działa. Jest to problem, ponieważ korzystam z zaszyfrowanego katalogu domowego na komputerze domowym, który nie pozwala na ponowne szyfrowanie plików, dopóki nie zostanie przerwane (nieżywe) połączenie SSH.
Czy istnieje sposób ustawienia sshd_config na komputerze domowym, aby automatycznie wykrywał przerwanie połączenia i go przerywał?
Możesz wypróbować mosh , zamiennik SSH zbudowany na SSH. Obsługuje i roaming oraz przerywane połączenia, więc sesja Mosh (SSH) będzie kontynuowana tam, gdzie została przerwana, gdy połączenie internetowe zostanie ponownie ustanowione po przerwie.
Będziesz musiał zainstalować Mosh na obu komputerach.
Bibliografia:
źródło