Điểm:0

Tại sao SSH bị ngắt kết nối với 'ssh_dispatch_run_fatal: Kết nối với cổng x.x.x.x 2020: Kết nối bị hỏng'?

lá cờ cn

Tôi đang cố gắng tìm ra lý do tại sao tôi liên tục bị ngắt kết nối khỏi phiên SSH của mình. Máy chủ là máy chủ CentOS và máy khách là MacOS.

Lỗi dường như không thường xuyên - đôi khi là một giờ một lần, đôi khi là vài lần trong một phút. Nhưng điều thú vị là điều này không chỉ xảy ra khi tôi không sử dụng kết nối - tôi thực sự có thể đang gõ và kết nối sẽ hoạt động. Lỗi là:

ssh_dispatch_run_fatal: Kết nối với cổng x.x.x.x 2020: Kết nối bị hỏng

Tôi cũng đã thử mở nhiều tab với mỗi kết nối ssh đang mở và chúng dường như bị ngắt kết nối cùng một lúc.

Bật gỡ lỗi cấp 3, tôi có /var/log/an toàn đầu ra ở đây xung quanh thời điểm ngắt kết nối:

Ngày 16 tháng 2 08:06:08 46 sshd[2864]: debug2: kênh 0: yêu cầu [email protected] xác nhận 1
Ngày 16 tháng 2 08:06:08 46 sshd[2864]: debug3: gửi gói: gõ 98
Ngày 16 tháng 2 08:06:08 46 sshd[2864]: debug3: nhận gói: nhập 100
Ngày 16 tháng 2 08:06:08 46 sshd[2864]: debug1: Got 100/121 cho keepalive
Ngày 16 tháng 2 08:06:38 46 sshd[2864]: debug2: kênh 0: yêu cầu [email protected] xác nhận 1
Ngày 16 tháng 2 08:06:38 46 sshd[2864]: debug3: gửi gói: gõ 98
Ngày 16 tháng 2 08:06:38 46 sshd[2864]: debug3: nhận gói: nhập 100
Ngày 16 tháng 2 08:06:38 46 sshd[2864]: debug1: Got 100/122 cho keepalive
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: Kết nối bị đóng bởi cổng x.x.x.x 62073
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug1: kênh 0: miễn phí: phiên máy chủ, nchannels 1
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: channel 0: status: Các kết nối sau đang mở:\r\n #0 server-session (t4 r0 i0/0 o0/0 fd 12/8 cc - 1)\r\n
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: Đóng phiên: người dùng my_username từ cổng x.x.x.x 62073 id 0
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: mm_request_send nhập: gõ 30
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: session_unused: id phiên 0 không sử dụng
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug1: do_cleanup
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: PAM: sshpam_thread_cleanup đang vào
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: mm_request_send nhập: nhập 122
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: mm_request_receive_expect nhập: nhập 123
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: mm_request_receive đang vào
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_request_receive đang vào
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: monitor_read: kiểm tra yêu cầu 30
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_answer_pty_cleanup đang vào
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug1: session_by_tty: session 0 tty /dev/pts/1
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_session_close: phiên 0 pid 4517
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_session_close: tty /dev/pts/1 ptyfd 4
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug1: session_pty_cleanup: phát hành phiên 0/dev/pts/1
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: session_unused: id phiên 0 không sử dụng
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_request_receive đang vào
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: monitor_read: kiểm tra yêu cầu 122
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_request_send nhập: nhập 123
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: mm_request_send nhập: nhập 124
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: Đã chuyển: đã gửi 1503792, đã nhận 18928 byte
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: Đóng kết nối với cổng x.x.x.x 62073
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: mm_audit_event đang vào
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: mm_request_send nhập: nhập 112
Ngày 16 tháng 2 08:06:51 46 sshd[4517]: debug3: mm_request_send nhập: gõ 50
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_request_receive đang vào
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: monitor_read: kiểm tra yêu cầu 124
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_request_receive đang vào
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: monitor_read: kiểm tra yêu cầu 112
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_answer_audit_event đang vào
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_request_receive đang vào
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: monitor_read: kiểm tra yêu cầu 50
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug3: mm_answer_term: chia nhỏ phiên
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug1: PAM: dọn dẹp
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug1: PAM: đóng phiên
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: pam_unix(sshd:session): đóng phiên cho người dùng my_username
Ngày 16 tháng 2 08:06:51 46 sshd[4514]: debug1: PAM: xóa thông tin xác thực

Các bộ phận bị xáo trộn với x hoặc Tên người dùng của tôi


Cập nhật

Tôi đã thêm một bộ nhật ký mới ở trên - ít hơn so với ban đầu nhưng tôi hy vọng những nhật ký có thể áp dụng được. Dòng mới:

Ngày 16 tháng 2 08:06:51 46 sshd[4517]: Kết nối bị đóng bởi cổng x.x.x.x 62073

quan tâm đến tôi.Điều này có gợi ý rằng thiết bị của tôi đang ngắt kết nối và nó không liên quan đến SSH không? Tôi thấy (tôi nghĩ) các gói duy trì thành công được gửi ngay trước khi ngắt kết nối.


Tôi đã thử khởi động lại trình nền và sử dụng phiên bản SSH OpenSSH (thông qua brew) trên Mac và điều đó không có gì khác biệt.

Thông tin máy chủ:

â sshd.service - Daemon máy chủ OpenSSH
   Đã tải: đã tải (/usr/lib/systemd/system/sshd.service; đã bật; giá trị đặt trước của nhà cung cấp: đã bật)
   Hoạt động: hoạt động (đang chạy) kể từ Thứ Sáu 2022-02-11 10:21:40 GMT; 1 giờ 52 phút trước
     Tài liệu: man:sshd(8)
           người đàn ông:sshd_config(5)
 PID chính: 6271 (sshd)
   Nhóm C: /system.slice/sshd.service
           ââ6271 /usr/sbin/sshd -D

Sự khác biệt duy nhất trong của chúng tôi sshd_config đối với CentOS tiêu chuẩn, một là cổng, cấp độ nhật ký và:

ClientAliveInterval 30
ClientAliveCountTối đa 5

Tại sao tôi bị ngắt kết nối? Điều gì có thể khiến kết nối bị hỏng?

asktyagi avatar
lá cờ in
bạn có ngoại lệ `Độ dài gói xấu` trong nhật ký không? nếu vậy việc thay đổi khoảng thời gian còn sống và số lượng còn sống có thể hữu ích. Vui lòng chia sẻ phiên bản ssh.
Zareh Kasparian avatar
lá cờ us
Cũng cần nói thêm rằng tệp nhật ký của bạn không có sẵn, có vẻ như tệp đã hết hạn.
lá cờ cn
Cảm ơn tất cả, tôi đã thêm lại nhật ký. @asktyagi Tôi không thấy bất kỳ trường hợp ngoại lệ nào về 'Độ dài gói xấu' ở bất kỳ đâu trong nhật ký.
asktyagi avatar
lá cờ in
Vui lòng thêm nhật ký hiển thị lỗi "Kết nối bị hỏng" để chúng tôi hiểu điều gì đã xảy ra trước lỗi này.
lá cờ cn
Đây là các nhật ký kể từ thời điểm tôi thấy lỗi Kết nối bị hỏng - không có đề cập nào về vấn đề đó trong nhật ký, chỉ từ phía máy khách (iTerm).
asktyagi avatar
lá cờ in
Đã cập nhật câu trả lời của tôi dựa trên nhật ký của bạn, nhưng nếu có thể, vui lòng cập nhật nhật ký phía máy khách, đặc biệt là 5-10 dòng trước khi "Kết nối bị hỏng" xuất hiện.
Điểm:1
lá cờ in

Đây rất có thể là sự cố ngắt kết nối, tôi không chắc bạn đang sử dụng phiên bản nào nếu bạn kiểm tra cơ sở mã ssh có thông báo:

ssh sẽ trả về SSH_ERR_CONN_CORRUPT chủ yếu là do sshpkt_disconnect.

Bây giờ câu hỏi là làm thế nào bạn có thể duy trì kết nối của mình, chúng tôi có nhiều cách "milenao" đã được chia sẻ nhưng trước khi thay đổi cài đặt, vui lòng đọc hiệu ứng trước. Một cách khác là chạy loại đường hầm để gửi bất kỳ loại lưu lượng truy cập nào để dịch vụ nghĩ rằng kết nối đang hoạt động, chẳng hạn như bạn có thể gửi ping, ngày, xem, ngủ sau một số tần suất tùy theo nhu cầu của bạn.

Cập nhật:

Với các nhật ký ở trên, tôi có thể nói rằng kết nối của bạn không hoạt động và quá trình đóng kết nối đã được bắt đầu, điều này giống với những gì chúng tôi đang dự đoán.

   /* Kết nối đã bị ngắt. */
   ssh_packet_get_bytes(ssh, &ibytes, &obytes);
   verbose("Đã truyền: đã gửi %llu, đã nhận %llu byte",
   (dài dài không dấu)obyte, (dài không dấu dài)ibyte);

   verbose("Đóng kết nối với cổng %.500s %d", remote_ip, remote_port);
Điểm:0
lá cờ us

Tôi gặp vấn đề tương tự nên tôi đã thêm phần sau vào .ssh/config tập tin và tôi chưa thấy lỗi đó.

Máy chủ i-* mi-*
ServerAliveInterval 300
ServerAliveCountMax 2

Không có gì đảm bảo rằng điều này sẽ hữu ích nhưng cho đến nay nó đã cho phép kết nối của tôi mở lâu hơn so với hiện tại.

Điểm:0
lá cờ ga

bạn có thể thử tăng các giá trị ClientAliveInterval và ClientAliveCountMax:

ClientAliveInterval 60
ClientAliveCountTối đa 10

Nhiều khả năng, máy chủ ngừng nhận gói từ máy khách và kết nối bị ngắt do hết thời gian chờ

lá cờ cn
Những lần ngắt kết nối này đôi khi xảy ra khi tôi thực sự đang nhập vào trình bao SSH của mình, vì vậy tôi không tin rằng nó liên quan đến cài đặt khoảng thời gian còn sống.
Điểm:0
lá cờ fr

Từ đây: https://linux-tips.com/t/how-to-solve-ssh-disconnect-packet-corrupt-problems/258

Hãy thử chạy lệnh này để tắt tổng kiểm tra phần cứng:

sudo ethtool -K eth0 tx tắt rx tắt

Có vẻ như nó có thể là một vấn đề phần cứng. Tôi cũng đã đọc ở đâu đó rằng bật/tắt toàn bộ máy chủ hoặc có thể thực hiện liên kết ip đặt dev ${INTERFACE} xuống; thiết lập liên kết ip dev ${INTERFACE} lên có thể làm việc là tốt.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.