SSH nagle przestaje działać: „Zapis nieudany: zepsuta rura”

9

Używam MacBooka Pro w domu i regularnie ssh do maszyn w moim laboratorium. Jednak w ciągu ostatnich 3-4 dni, za każdym razem, gdy włączyłem SSH do maszyny w laboratorium, pojawia się błąd „Zapis nieudany: zepsuta rura”, prawie w ciągu 2 minut od wysłania mi wiadomości.

Fakt, że kilka dni temu wszystko działało idealnie, wprawia mnie w zakłopotanie, a każda pomoc w przywróceniu działania będzie bardzo mile widziana.

NSR
źródło
2
Używasz ServerAliveIntervalczy nie? Jeśli nie, spróbuj go ustawić.
0xC0000022L
Tak, jestem. Jest ustawiony na 30. Próbowałem 15, 30, 60 i nie wpłynęło to na wydajność (ani jej brak)
NSR
Czy próbowałeś 1SSHing z innej maszyny do laboratorium, aby sprawdzić, czy to MacBook? i 2SSHing z Macbooka na inną maszynę, aby sprawdzić, czy to laboratorium? ustalenie, który z nich ma problem, powinien znacznie zawęzić twoje rozwiązanie
Yuugian
Cóż, użyłem mojego laptopa do SSH na tych samych komputerach z innej sieci (sieć uniwersytecka) i działało dobrze. Domyślam się, że z moją siecią domową dzieje się coś dziwnego.
NSR

Odpowiedzi:

11

To wygląda na problem z siecią.

Zapytaj, czy niektóre urządzenia sieciowe uległy zmianie lub zostały ponownie skonfigurowane. Poinformuj administratora sieci, że masz problem z zalogowaniem się, w zaporze może wystąpić błędna konfiguracja. Spróbuj zalogować się z innych komputerów lub na inne komputery, aby poprawić diagnozę.

Jedną z możliwych przyczyn tych objawów jest konflikt adresów IP. Sprawdź, skąd klient i serwer uzyskują swój adres IP. Jeśli nadal ping server.example.comdziałasz, czy to pomaga wydłużyć połączenie? Jeśli tak, masz konflikt adresów IP. ( pingPomaga, ponieważ ciągle informuje routery po drodze, aby skierować pakiety IP do komputera - ale nadal stracisz połączenie, jeśli inne urządzenie wyśle ​​przed Tobą odpowiedź ARP.) Jeśli to jest problem, musisz napraw to: ustaw, aby jeden z komputerów używających tego samego adresu używał innego adresu.

Sprawdź także tabelę routingu na swoim komputerze. Upewnij się, że pakiety do serwera są kierowane do odpowiedniego interfejsu. (Chociaż zła tabela routingu normalnie sprawi, że połączenie w ogóle nie będzie działać, istnieje przypadek skrajny, w którym objawy są tymi, które opisujesz: jeśli uzyskasz adres za pomocą DHCP, a serwer DHCP jest również serwerem, z którym się kontaktujesz - adres serwera DHCP będzie przekierowywany do żądanego interfejsu, aż do wygaśnięcia pamięci podręcznej ARP).

Gilles „SO- przestań być zły”
źródło
1
ah! wydaje się, że pingowanie dowolnego serwera działa (jak dotąd). Wygląda na to, że było to zderzenie adresów IP. Zbadam dalej i upewnię się, że tak się nie stanie. Dzięki !!
NSR
Cześć Gilles, Dzięki za podane rozwiązanie. Rozwiązuję ten problem od 5 dni, konfigurując parametry ssh itd. Ale nie działało. Twoje rozwiązanie bardzo mi pomogło. Wielkie dzięki.
Rajasekhar
1

Może to być spowodowane utratą pakietu. Takie narzędzie mtrmoże pomóc zdiagnozować, który z hostów na trasie powoduje problemy. Tutaj znajdziesz instrukcje instalacji w systemie Mac OS X.

Frederik Deweerdt
źródło
1

Miałem ten problem z niektórymi serwerami w głównym biurze i rozwiązałem go za pomocą:

TCPKeepAlive yes
ServerAliveInterval 5

w pliku konfiguracyjnym ssh ( ~/.ssh/config or /etc/ssh/ssh_config).

Dopiero później dowiedziałem się, że było to spowodowane zainstalowaniem jakiegoś sprzętu w celu optymalizacji komunikacji między zakłócanymi biurami.

Anthon
źródło
1

Rozwiązałem problem w Mac OS X, zmieniłem

#ClientAliveInterval 0

do

ClientAliveInterval 300

W /etc/sshd_confignastępstwie tego , i ponownie uruchomić maszynę, sporządzonej.

limlighten
źródło
1
W systemie Mac OS X 10.12.6 był w / etc / ssh / sshd_config
WebOrCode