Ten cholerny błąd sprawia, że mój ból głowy rośnie z każdym dniem. Nigdy nie spotkałem takiej sytuacji jak teraz.
Cóż, po pomyślnym uwierzytelnieniu się w SSH i zrobieniu kilku rzeczy, nagle moje połączenie SSH zostało nagle przerwane !!?
Oto mój komunikat o błędzie: packet_write_wait: Connection to XXX.XX.XX.XXX: Broken pipe
Chciałbym, aby mój komunikat o błędzie wyglądał tak: Write Failed: broken pipe
bardzo, uwierz mi!
Próbowałem ton rozdzielczości w Internecie, takich jak ServerAliveInterval, ServerAliveCountMax, ClientAlive ....
Ktoś powiedział: Przełącz TCPKeepAlive na „nie”, dodał idiota ServerAlive bllah blah. Zrobiłem to również, ale wciąż ten sam błąd.
Do tego momentu nie mam szczęścia.
Każda pomoc będzie mile widziana.
Broken pipe
ogólnie oznacza, że z jakiegoś powodu nastąpiło rozłączenie sieci.Odpowiedzi:
Drodzy czytelnicy 2018 i później,
Pozwól, że pokażę ci komentarz MelBurslan,
Zasadniczo, jeśli próbujesz korzystać
ssh [email protected]
z VPN (środowisko korporacyjne). Zatem ten błąd musi być z tobą w kółko.Jedynym rozwiązaniem, jakie do tej pory znalazłem, jest mobilna powłoka . Dzięki, kto to stworzył.
Będziesz musiał zainstalować
mosh-server
w swoim systemie docelowym (serwerze, do którego chcesz ssh'ed) imosh-client
na komputerze-hoście.Automatycznie połączy się ponownie, gdy stracisz pakiety, to całkiem fajne i odpowiada wszystkim naszym potrzebom, tak myślę.
Happy ssh'ing!
źródło
Odkryłem, że był to problem opcji IPQoS w mojej konfiguracji VMware Guest. Na maszynie wirtualnej ustawiłem wartość ~ / .ssh / config dla IPQoS z wartości domyślnej „IPQoS af21 cs1”, która jest danymi o małym opóźnieniu dla pierwszej interaktywnej i mniejszej nakładu dla drugiej nieinteraktywnej. Moim rozwiązaniem było ustawienie nowej wartości dla af21:
Pracowałem dla mnie, w przeciwnym razie tak, MoSH również działa, ale mosh nie obsługuje mojej konfiguracji Proxy w wygodny sposób, więc trzymam się poleceń ProxyJump w
źródło
Po pierwsze, upewnij się, że Twój problem nie jest z tym związany .
Jeśli nie, a problem nadal występuje, czytaj dalej.
Też doświadczyłem tego problemu i spędziłem kilka dni próbując go rozdzielić.
Jak podano, gra przy użyciu parametrów SSH KeepAlive lub parametrów TCP jądra (włączanie / wyłączanie TCPKeepAlive) nie rozwiązuje problemu.
Po zabawie ze sterownikami USB do Ethernetu i zrzutem TCP zdałem sobie sprawę, że problem był spowodowany przez jądro 4.8. Zmieniłem źródło (strona wysyłająca) na 4.4 LTS i problem zniknął (rsync, scp znów działały ładnie). Strona docelowa może pozostać na 4,8, jeśli chcesz, w moim przypadku to zadziałało (przetestowane).
Od strony technicznej możemy nieco zawęzić problem dzięki zrzutowi wireshark poniżej, który zrobiłem. Widzimy, że kanał TCP protokołu SSHv2 jest resetowany (flaga RST protokołu TCP ustawiona na 1), co powoduje przerwanie połączenia. Nie znam jeszcze przyczyny RST. Muszę w tym celu dokonać podziału na punkty od 4.8.1 do 4.8.11.
Nie twierdzę, że twój problem wynika konkretnie z jądra 4.8, ale wrt. w dniu, w którym opublikowałeś swoje pytanie / wiadomość, być może korzystałeś z wersji jądra, która była faktycznie wadliwa.
Początkowo odpowiedział na StackOverflow .
źródło
ssh -o IPQoS=throughput user@{ip}
źródło
Otwórz plik ssh.config na serwerze docelowym za pomocą poniższego polecenia:
Dodaj poniższe wiersze na końcu tego pliku
naciśnij Ctrl + o i wprowadź.
To dla mnie zadziałało. Byłem w tej samej sytuacji. Próbowałem tego i tamtego, ale po prostu wykonaj następujące kroki. Tylko to. Mam nadzieję, że to również zadziała dla ciebie.
źródło