Vấn đề chính xác tương tự ở đây để truy cập một máy chủ chuyên dụng tại trung tâm dữ liệu online.net.
Không có vấn đề gì sau khi khởi động lại, không cần thay đổi MTU, kết nối ssh hoạt động trong 1-3 tuần, sau đó xuất hiện lỗi chính xác này, chặn trên KEXINIT, không thể kết nối máy chủ ssh nữa.
Nó có thể là một loại lỗi sshd, nhưng nó nhất thiết phải được kích hoạt bởi một số nội dung mới xảy ra sau 1-3 tuần, tôi đã tái tạo vấn đề chính xác này nhiều lần với nhiều máy chủ khác nhau trên mạng này, một số người cho rằng nó có thể liên quan đến lỗi cisco, có thể liên quan đến một số tùy chọn DPI.
Vấn đề đó không bao giờ xảy ra với các máy chủ khác mà tôi quản lý trong các trung tâm dữ liệu khác và có cùng phiên bản distro, config và sshd.
nếu bạn không muốn khởi động lại cứ sau 10 ngày vì tường lửa trung tâm dữ liệu (hoặc các chỉnh sửa mạng khác) đang làm những việc kỳ lạ:
đầu tiên kết nối với một trong những cách giải quyết phía khách hàng:
cách giải quyết 1, hạ MTU cục bộ, phía máy khách của bạn:
ip li set mtu 1400 dev wlan0
(1400 là đủ nhưng bạn có thể thử sử dụng các giá trị thấp hơn nếu cần)
cách giải quyết 2, chỉ định cypher đã chọn cho kết nối ssh:
ssh -c aes256-gcm@openssh.com host
(hoặc thử với bất kỳ cypher có sẵn nào khác)
Cả hai cách giải quyết phía khách hàng đó đã giúp tôi, tôi có thể kết nối và tiết kiệm thời gian hoạt động của mình; nhưng bạn muốn sửa lỗi phía máy chủ này mãi mãi, vì vậy bạn không phải yêu cầu mọi khách hàng điều chỉnh MTU cục bộ của họ.
Trên gentoo tôi chỉ cần thêm:
mtu_eth0="1400"
trong /etc/conf.d/net
(tùy chọn mtu tương tự sẽ có sẵn ở đâu đó trong tệp cấu hình mạng phân phối ưa thích của bạn)
Tôi đã đặt mtu thành 1400, nhưng 1460 có lẽ là đủ trong hầu hết các trường hợp.
một cách giải quyết khác có thể là sử dụng các quy tắc iptables sau để quản lý phân mảnh:
# / sbin / iptables -I OUTPUT -p tcp --tcp-flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu
# / sbin / ip6tables -I OUTPUT -p tcp --tcp-flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu
(nhưng tôi không cần cái này cho đến bây giờ)
cũng lưu ý rằng các triệu chứng của vấn đề này cũng có thể là:
debug1: SSH2_MSG_KEXINIT sent
không chỉ là
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
chỉnh sửa tháng 3 năm 2016:
Việc hạ mtu xuống 1400 trên máy chủ luôn hoạt động, nhưng gần đây tôi đã gặp trường hợp mtu đã bị hạ xuống 1400 trên máy chủ và vấn đề xuất hiện trở lại, và khách hàng cũng phải hạ mtu xuống 1400.
Sự cố cũng xuất hiện trên các biểu mẫu đăng nhập web đang chờ trang tải lại cho đến khi thông báo "máy chủ đã đặt lại kết nối", cũng được khắc phục sau khi máy khách đặt mtU thành 1400.
Liên kết liên quan :
https://bugs.launchpad.net/ubfox/+source/openssh/+orms/1254085
http://www.ained.org.il/blog/2011/05/the-myterious-case-of-broken-ssh-client-connection-reset-by-peer/
https://nowhere.dk/articles/natty-narwhal-probols-connecting-to-servers-behind-cisco-firewalls-USE-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