Błąd udostępniania połączenia SSH w systemie Mac OS X Lion Terminal


12

Czasami pojawia się ten błąd, gdy próbuję ssh do zdalnego hosta:

mux_client_request_session: read from master failed: Broken pipe

Korzystam z Macbooka Air OS X Lion z tym w ~ / .ssh / config:

ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r

ControlPersist 4h

ForwardAgent yes

Host [ex]
    HostName [example.com]
    User [somedude]

Powyższy błąd występuje, gdy:

ssh ex

Terminal zawiesza się przez ~ 1 minutę, a następnie wyświetla:

mux_client_request_session: read from master failed: Broken pipe
somedude@example.com's password:

Wpisuję hasło i jest w porządku. A jeśli otworzę kolejną kartę Terminal, udostępnianie połączenia też będzie w porządku. Jak mogę to naprawić? To nie jest okropne, ale denerwujące.


Czy możesz zalogować się na inne zdalne maszyny z komputera Macbook Air? Czy inne maszyny mogą zalogować się na somedude@example.com?
jessh

Odpowiedzi:


14

Zostały ControlPersistwłączone. Moje wykształcone przypuszczenie jest następujące:

  1. Masz połączenie z example.com
  2. Wyloguj się, ale ponieważ ControlPersistjest włączona, sesja jest otwarta dla przyszłych połączeń.
  3. Coś poszło nie tak z twoim połączeniem sieciowym, a tym samym trwałe połączenie zostaje zerwane.
  4. Po ssh somedude@example.componownym uruchomieniu próbuje ponownie użyć połączenia z kroku 2 i otwiera nowe połączenie po upływie limitu czasu.

Według man ssh_config. Nie ma osobnej opcji dla tego limitu czasu . Aby tego uniknąć, nie używaj ControlPersist. Ponadto, jeśli to możliwe, bardzo polecam używanie loginu klucza publicznego. Nadal możesz mieć hasło do klucza publicznego, ale klucz publiczny skutecznie zapobiega brutalnemu wymuszaniu hasła przez połączenie SSH.

Ponadto nie należy przechowywać plików kontrolnych w obszarze /tmp. Te powinny / muszą być zabezpieczone, a do tego na przykład ~/.ssh/master/ssh_mux_%h_%p_%rjest o wiele lepsza lokalizacja. Oczywiście, jeśli jesteś jedynym użytkownikiem swojego laptopa (?), Nie jest to zbyt duży problem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.