Ssh ngay lập tức ngắt kết nối với Viết Viết thất bại: đường ống bị hỏng


3

Khi tôi cố gắng đăng nhập vào một máy từ xa thông qua ssh, tôi ngay lập tức bị ngắt kết nối với "Viết không thành công: đường ống bị hỏng". Thay vào đó, tôi đã thử đăng nhập qua mosh và máy khách mosh đóng băng.

Tôi đã thử googling xung quanh và câu trả lời duy nhất tôi có thể đưa ra có liên quan đến thời gian chờ (ví dụ: câu hỏi trao đổi ngăn xếp Unix này ). Tôi khá chắc chắn đó không phải là vấn đề liên quan đến thời gian chờ vì tôi không thay đổi cấu hình cá nhân kể từ đêm qua (khi nó hoạt động lần cuối) và những người dùng khác có thể đăng nhập tốt.

Chạy ssh với -vvv(nhật ký rất rất dài) tiết lộ không có gì hữu ích.

Tôi đã giải quyết vấn đề cụ thể của mình (xem câu trả lời của tôi bên dưới), nhưng tôi tự hỏi những vấn đề nào khác có thể gây ra sự cố (ssh ngắt kết nối ngay lập tức chỉ nêu "Viết thất bại: vỡ đường ống")?

Tôi tự hỏi thêm nếu sshd / mosh / etc có thể báo cáo về việc không thể sinh ra một phiên để giúp chẩn đoán vấn đề?

Câu trả lời:


1

Vì vậy, trong trường hợp cụ thể của tôi, tôi đã để một screenhoạt động mở gdbgắn liền với một quy trình cố gắng tái tạo một vấn đề mà khách hàng có liên quan đến sản phẩm của chúng tôi sinh ra quá nhiều chủ đề. Rõ ràng vấn đề đã được sao chép qua đêm và người dùng của tôi đã đạt đến giới hạn luồng người dùng của hệ thống.

Vì vậy, sshd không thể sinh ra một quy trình mới dưới người dùng của tôi do giới hạn quy trình và luồng. Cuối cùng những gì chúng ta phải làm là đăng nhập với một người sử dụng khác nhau và giết chạy của tôi screen, gdbvà quá trình này đang được gỡ rối. Điều này giải phóng quá trình và tài nguyên luồng cho phép tôi cuối cùng kết nối lại.


-1

Một giải pháp khác được trình bày chi tiết tại đây: https://access.redhat.com/solutions/30316

Tôi đã bắt đầu với cùng một vấn đề và trong quá trình điều tra, tôi đã có một người dùng khác cố gắng làm người dùng của mình. Anh ta đã gặp lỗi dẫn tôi đến liên kết ở trên (không thể đặt id người dùng: Tài nguyên tạm thời không khả dụng). Tôi thực sự đã vượt quá giới hạn luồng cho phép đối với người dùng của mình và tăng giới hạn đó cho phép tôi đăng nhập lại.

Về cơ bản, hãy chạy nó với người dùng của bạn (đây là số luồng hiện tại đang hoạt động cho người dùng đó):

ps -u testuser -L | wc -l

Nếu kết quả lớn hơn bất kỳ giới hạn nào được đặt trong /etc/security/limits.d/90-nproc.conf (mặc định là 1024) cho người dùng đó, thì bạn cần tăng nó. Bạn sẽ cần phải làm điều đó với một người dùng khác chưa vượt quá giới hạn của anh ta (hoặc bằng cách nào đó giết một số chuỗi để có thể đăng nhập).

Để tăng nó, chỉ cần thêm một dòng tương tự như dòng hiện có, nhưng cụ thể cho người dùng của bạn:

testuser   soft    nproc     2048

Tôi biết đó là một câu hỏi cũ, nhưng điều này có thể giúp những người có vấn đề này.


1
Xin vui lòng tránh đăng câu trả lời chỉ liên kết. Liên kết có thể bị hỏng trong thời gian làm cho câu trả lời này trở nên vô dụng đối với các khách truy cập khác. Vui lòng bao gồm các giải pháp thực tế trong câu trả lời.
mtak
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.