Dokładnie ten sam problem, aby uzyskać dostęp do serwera dedykowanego w centrum danych online.net.
Nie ma problemu po ponownym uruchomieniu, nie trzeba zmieniać MTU, połączenie ssh działa przez 1-3 tygodnie, a następnie pojawia się ten sam błąd, blokuje się na KEXINIT, nie można już połączyć się z serwerem ssh.
Może to być jakiś błąd sshd, ale koniecznie jest on wywoływany przez nowe rzeczy, które dzieją się po 1-3 tygodniach, wiele razy odtworzyłem ten dokładny problem z wieloma różnymi serwerami w tej sieci, niektórzy twierdzą, że może to być związane z błędem cisco, prawdopodobnie związane z niektórymi opcjami DPI.
Ten problem nigdy nie wystąpił w przypadku innych serwerów, którymi zarządzam w innych centrach danych i które mają dokładnie taką samą dystrybucję, konfigurację i wersję sshd.
jeśli nie chcesz restartować co 10 dni, ponieważ zapory w centrum danych (lub inne poprawki sieciowe) robią dziwne rzeczy:
najpierw połącz się z jednym z tych obejść po stronie klienta:
obejście 1, obniżanie lokalnej jednostki MTU po stronie klienta:
ip li set mtu 1400 dev wlan0
(1400 powinno wystarczyć, ale w razie potrzeby możesz spróbować użyć niższych wartości)
obejście 2, określając wybrany szyfr dla połączenia ssh:
ssh -c aes256-gcm@openssh.com host
(lub spróbuj użyć innego dostępnego szyfru)
Oba te obejścia po stronie klienta dały mi radę, mogłem połączyć się i zaoszczędzić czas pracy; ale chcesz to naprawić po stronie serwera, na zawsze, więc nie musisz prosić każdego klienta o lokalne dostosowanie MTU.
Na Gentoo właśnie dodałem:
mtu_eth0="1400"
w /etc/conf.d/net
(ta sama opcja mtu powinna być dostępna gdzieś w preferowanym pliku konfiguracji sieci dystrybucyjnej)
Ustawiłem mtu na 1400, ale w większości przypadków prawdopodobnie wystarczy 1460.
innym pomocnym obejściem może być użycie następujących reguł iptables do zarządzania fragmentacją:
# / sbin / iptables -I WYJŚCIE -p tcp - tcp-flags SYN, RST SYN -j TCPMSS - clamp-mss-to-pmtu
# / sbin / ip6tables -I WYJŚCIE -p tcp --tcp-flags SYN, RST SYN -j TCPMSS - clamp-mss-to-pmtu
(ale ja osobiście nie potrzebowałem tego do tej pory)
zauważ również, że objawami tego problemu mogą być również:
debug1: SSH2_MSG_KEXINIT sent
nie tylko
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
edytuj marzec 2016:
obniżenie mtu do 1400 na serwerze najczęściej zawsze działa, ale ostatnio miałem przypadek, w którym mtu został już obniżony do 1400 na serwerze i problem pojawił się ponownie, a klient musiał również obniżyć mtu do 1400.
Problem pojawił się także w formularzach logowania do sieci, czekając na ponowne załadowanie strony, aż powie „serwer zresetował połączenie”, również naprawiony po tym, jak klient ustawił mtU na 1400.
powiązane linki :
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1254085
http://www.held.org.il/blog/2011/05/the-myterious-case-of-broken-ssh-client-connection-reset-by-peer/
https://nowhere.dk/articles/natty-narwhal-problems-connecting-to-servers-behind-cisco-firewalls-using-ssh
/programming/2419412/ssh-connection-stop-at-debug1-ssh2-msg-kexinit-sent
http://www.1-script.com/forums/ssh/ssh-hang-after-ssh2-msg-kexinit-sent-10616-.htm
http://www.snailbook.com/faq/mtu-mismatch.auto.html