ssh segera memutuskan “Tulis gagal: pipa rusak”

3

Ketika saya mencoba masuk ke mesin jarak jauh melalui ssh, saya langsung terputus dengan "Write gagal: pipa rusak". Saya sudah mencoba masuk via mosh dan klien mosh macet.

Saya sudah mencoba mencari-cari di Google dan satu-satunya jawaban yang bisa saya dapatkan terkait dengan waktu tunggu (misalnya, pertanyaan pertukaran tumpukan Unix ini ). Saya cukup yakin ini bukan masalah terkait waktu habis karena saya tidak membuat perubahan konfigurasi pribadi sejak tadi malam (ketika itu berfungsi terakhir) dan pengguna lain dapat masuk dengan baik.

Menjalankan ssh dengan -vvv(log sangat sangat verbose) mengungkapkan tidak ada yang membantu.

Saya sudah menyelesaikan masalah spesifik saya (lihat jawaban saya di bawah), tetapi saya bertanya-tanya masalah apa yang mungkin menyebabkan masalah (ssh disconnecting dengan segera menyatakan hanya "Tulis gagal: pipa rusak")?

Saya lebih lanjut bertanya-tanya apakah sshd / mosh / etc dapat melaporkan karena tidak dapat menelurkan sesi untuk membantu mendiagnosis masalah?

inetknght
sumber

Jawaban:

1

Jadi, dalam kasus spesifik saya, saya meninggalkan proses screenterbuka yang gdbmelekat pada proses mencoba mereproduksi masalah yang dimiliki pelanggan terkait dengan produk kami yang menghasilkan terlalu banyak utas. Tampaknya masalah telah direproduksi dalam semalam dan pengguna saya telah mencapai batas utas pengguna sistem.

Jadi sshd tidak dapat menelurkan proses baru di bawah pengguna saya karena proses dan batas utas. Pada akhirnya apa yang harus kita lakukan adalah untuk login dengan user yang berbeda dan membunuh saya berjalan screen, gdbdan proses yang sedang debugged. Ini membebaskan proses dan utas sumber daya yang memungkinkan saya untuk akhirnya terhubung kembali.

inetknght
sumber
-1

Solusi lain dirinci di sini: https://access.redhat.com/solutions/30316

Saya mulai dengan masalah yang sama dan selama investigasi saya meminta pengguna lain mencoba su sebagai pengguna saya. Dia mendapat kesalahan yang mengarahkan saya ke tautan di atas (tidak dapat menetapkan id pengguna: Sumber Daya tidak tersedia untuk sementara). Saya memang di atas batas utas yang diizinkan untuk pengguna saya dan meningkatkan batas itu memungkinkan saya masuk lagi.

Pada dasarnya, jalankan ini terhadap pengguna Anda (ini adalah jumlah utas saat ini yang aktif untuk pengguna itu):

ps -u testuser -L | wc -l

Jika hasilnya lebih besar dari batas apa pun yang ditetapkan di /etc/security/limits.d/90-nproc.conf (defaultnya adalah 1024) untuk pengguna itu, maka Anda harus meningkatkannya. Anda perlu melakukannya dengan pengguna lain yang belum melampaui batasnya (atau entah bagaimana membunuh beberapa utas untuk dapat masuk).

Untuk meningkatkannya, cukup tambahkan baris yang mirip dengan yang ada, tetapi khusus untuk pengguna Anda:

testuser   soft    nproc     2048

Saya tahu ini pertanyaan lama, tetapi ini mungkin membantu orang yang memiliki masalah ini.

alexS
sumber
1
Harap hindari memposting jawaban hanya tautan. Tautan dapat menjadi rusak pada waktunya sehingga jawaban ini tidak berguna bagi pengunjung lain. Harap sertakan solusi aktual dalam jawabannya.
mtak