Kết nối SSH bị đóng băng với Viết Viết thất bại: Hỏng đường ống '


12

Tôi đang kết nối với hộp CentOS 5.5 qua SSH từ máy Ubuntu 11.04.

Kết nối dường như hoạt động như mong đợi khi nó được sử dụng (nghĩa là không bị trễ hoặc mất), nhưng nếu nó không hoạt động trong một thời gian, nó sẽ bị đóng băng và không phản hồi. Cuối cùng, thông báo lỗi "Viết không thành công: Đường ống bị hỏng" sẽ được trả lại và tôi sẽ quay lại lời nhắc của máy cục bộ.

Tôi có thể làm gì để giúp gỡ lỗi này, tìm hiểu chuyện gì đang xảy ra và giải quyết vấn đề này? Là một nhà phát triển, điều này khiến cuộc sống của tôi trở thành nỗi đau khi phải kết nối lại liên tục.

Câu trả lời:


15

Có vẻ như cấu hình SSHD của hộp CentOS không được đặt để làm máy khách KeepAlive.

Thả hai dòng này trong cấu hình sshd CentOS của bạn (/ etc / ssh / sshd_config), khởi động lại nó và tận hưởng!

KeepAlive yes
ClientAliveInterval 60

Trong khi bạn đang ở đó, tôi khuyên bạn nên sử dụng gnu screenđể giữ cho phiên của bạn tồn tại ở phía CentOS.


1
KeepAlive như được đổi tên thành TCPKeepAlive và có thể để ở giá trị mặc định là có. ClientAliveInterval nên là đủ. Xem man sshd_config.
ypid

9

Câu trả lời thực tế hầu như luôn là bạn có một thiết bị NAT nào đó trong đường dẫn, thường là tường lửa, có các bảng trạng thái có thời gian chờ khá tích cực. Do bạn để máy kết nối không hoạt động trong một khoảng thời gian, thiết bị NAT "quên" ánh xạ giữa địa chỉ bên trong và số cổng nguồn của bạn và địa chỉ bên ngoài địa chỉ NATted và số cổng.

Sau này, khi bạn cố gắng thực hiện một cái gì đó trong cửa sổ ssh đó, một cặp cổng / địa chỉ phù du mới được gán cho bạn, mà máy chủ ssh đích không có kiến ​​thức và không phản hồi; sau đó, một số thời gian chờ cục bộ đã đạt được và kết nối bị ngắt bởi máy cục bộ của bạn.

Cách khắc phục thực tế cho việc này là thực hiện chính xác những gì yuriismaster gợi ý: bật KeepAlives (đảm bảo lưu lượng truy cập thường xuyên để "tích tắc" mục nhập bảng trạng thái đó) và sử dụng screenở phía xa (để duy trì trạng thái trong trường hợp mọi thứ bị bỏ). Tôi chỉ đăng câu trả lời này vì bạn đã hỏi những gì đang xảy ra, cũng như phải làm gì về nó. Hy vọng rằng điều này làm rõ lý do tại sao đề xuất của yuriismaster là tốt.


Điều đó làm cho ý nghĩa hoàn hảo! Chúng tôi có một NAT với thiết lập DMZ cho hộp này. Tôi sẽ thử cấu hình thời gian chờ và xem nó có hoạt động với tôi không. Cảm ơn :)
Stephen RC

Tôi chấp nhận bạn vì bạn đã giúp tôi hiểu lý do đằng sau vấn đề. Nhưng tín dụng cần phải đến @yuriismaster để khắc phục.
Stephen RC

Valorin: hoàn toàn, nó có, và anh ấy là người đầu tiên. Thành thật mà nói, tôi nghĩ rằng anh ấy xứng đáng được chấp nhận hơn tôi; Nhưng đó là câu hỏi của bạn, vì vậy nó sẽ đi khi bạn thấy phù hợp. Cảm ơn cho các thông tin phản hồi, một trong hai cách.
MadHatter
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.