packet_write_wait Kırık boru en üste çıkmaya devam ediyor mu?


26

Bu kanlı hata baş ağrımı her geçen gün daha da büyüyor. Bu zamanki gibi aynı durumla hiç karşılaşmadım.

Peki, başarıyla SSH'yi doğruladıktan sonra, birkaç şey yaparak SSH bağlantım aniden kesildi !!

İşte benim hata mesajım: packet_write_wait: Connection to XXX.XX.XX.XXX: Broken pipe

Hata mesajımın şöyle görünmesini diledim: Write Failed: broken pipeçok, inan bana!

İnternette, ServerAliveInterval, ServerAliveCountMax, ClientAlive ...

Birisi şöyle dedi: TCPKeepAlive cihazınızı hayır olarak ayarlayın, ServerAlive bllah blah salak eklendi. Bunu da yaptım ama yine de aynı hatayı.

Şu ana kadar benim için şans yok.

Herhangi bir yardım takdir edilecektir.


2
Şirket ortamındaysanız, güvenlik duvarı yöneticilerinize danışın ve bu gerçekleştiğinde yapılan bir tür değişiklikten sonra kuralları güncellediklerini ve / veya güvenlik duvarını yeniden başlattıklarını kontrol edin. Kişisel bir sunucunuza oluyorsa, bu olduğunda, sshd sunucusu tarafında ne yaptığınız hakkında daha fazla bilgi vermeniz gerekir. Broken pipegenellikle bir nedenden dolayı bir ağ bağlantısının kesildiği anlamına gelir.
MelBurslan

Yeni taşındım ve bu sürekli yeni bağlantımla oluyor. Cox Kablo benim ISS, ve kurulumdan varsayılan ayarları çalışan bir Netgear C6300BD kablo modem var. Bu eski yerimde olmuştu ve asla çözemedim. Aylarca sürdü ve sonunda durdu. Bugüne kadar ne kadar sefil ve çözülemez olduğunu unuttum.
T. Brian Jones

Acını hissediyorum. Buraya son çare olarak geldim, tüm donanımımı küçük küçük parçalara ayıracağım. Bunun oldukça basit bir protokol olması gerekmiyor mu?
DerpyNerd

Sanallaştırılmış Linux'ta da aynı hatayı yaşadım, sorun ethernet adaptörünü köprülü olarak değiştirmeyi çözdü
Abel Barrios

Yanıtlar:


8

Sevgili 2018 ve üstü okuyucular,

Size MelBurslan'dan bir yorum göstereyim.

Şirket ortamındaysanız, güvenlik duvarı yöneticilerinize danışın ve bu gerçekleştiğinde yapılan bir tür değişiklikten sonra kuralları güncellediklerini ve / veya güvenlik duvarını yeniden başlattıklarını kontrol edin. Kişisel bir sunucunuza oluyorsa, bu olduğunda, sshd sunucusu tarafında ne yaptığınız hakkında daha fazla bilgi vermeniz gerekir. Kırık boru genellikle bazı nedenlerden dolayı bir ağ bağlantısının kesildiği anlamına gelir.

Temel olarak, ssh username@0.0.0.0bir VPN (şirket ortamı) üzerinden kullanmaya çalışıyorsanız . O zaman bu hata tekrar tekrar yanınızda olmalı.

Şimdiye kadar bulduğum tek çözüm mobil kabuk . Teşekkürler kim yarattı.

mosh-serverHedefinize (bağlanmak istediğiniz sunucuya) ve mosh-clientana makinenize yüklemeniz gerekir .

Sanırım paketleriniz kaybolduğunda otomatik olarak yeniden bağlanacak, bu oldukça havalı ve tüm ihtiyaçlarımıza uygun olacak.

Mutlu ssh'ing!


3

VMware Guest kurulumumda bunun bir IPQoS seçeneği sorunu olduğunu keşfettim. VM'de IPQoS için ~ / .ssh / config değerini, "IPQoS af21 cs1" in varsayılan değerinden, ikincil için etkileşimli olmayanlar için etkileşimli ilk ve düşük çaba için düşük gecikmeli veriler olarak ayarlayın. Af21 için yeni bir değer belirlemek benim çözümümdü:

Host *
     IPQoS throughput

Benim için çalıştı, aksi takdirde evet MoSH da işe yarıyor ama mosh Proxy kurulumumu uygun bir şekilde kullanmıyor, bu yüzden ProxyJump komutlarına bağlı kaldım.


Eğlenceli, komut satırında çalışıyor (ubuntu'daki gönderiminizde açıkladığınız gibi) ancak 8-D yapılandırma dosyasında değil
aurelien

1

Öncelikle, sorununuzun ilgili olmayan yapmak bu bir .

Değilse ve sorun hala mevcutsa, okumaya devam edin.

Ben de bu sorunu yaşadım ve birkaç gün geçirdim.

Belirtildiği gibi, SSH KeepAlive parametreleriyle veya çekirdek TCP parametreleriyle (TCPKeepAlive açık / kapalı) oynamak sorunu çözmez.

Usb ile ethernet sürücüleri ve TCP dökümü yaptıktan sonra, sorunun çekirdeğin 4.8'ten kaynaklandığını anladım. Kaynağı (gönderen taraf) 4.4 LTS'ye değiştirdim ve sorun ortadan kalktı (rsync, scp tekrar güzel çalışıyordu). İsterseniz hedef taraf 4.8'de kalabilir, benim durumumda bu çalışıyordu (test edildi).

Teknik açıdan, yaptığım aşağıdaki tel atık deposu sayesinde sorunu biraz daraltabiliriz. Bağlantının iptal edilmesine neden olan SSHv2 protokolünün TCP kanalının sıfırlandığını (TCP'nin RST bayrağı 1'e ayarlanmış) görüyoruz. RST'nin nedenini henüz bilmiyorum. Bunun için 4.8.1'den 4.8.11'e biraz ikiye ayırmam gerekiyor.görüntü tanımını buraya girin

Sorunun özellikle çekirdek 4.8'den kaynaklandığını söylemiyorum, ama wrt. Sorunuzu / mesajınızı gönderdiğiniz tarihte, aslında buggy olan bir çekirdek sürümü kullanıyor olabilirsiniz.

İlk olarak StackOverflow'ta cevaplandı .


Çekirdek sorun değil, çünkü her zaman 4.4 LTS kullanıyordum. Buradaki asıl sorun, soru yorumunda @MelBursan tarafından cevaplandı. İnternet bağlantım VPN kullanıyor, bu yüzden. Çözüm: mosh.org
Toan Nguyen,

@ToanNguyen Tamam. Bu şekilde, yorumunu sorunuza cevap olarak verebilir ve sabit olarak işaretleyebilir misiniz? :-) Neden mosh'a ihtiyaç duyduğun teknik sebeplerini bulduysan, lütfen onları da ekle :-). Yanımda, VPN bağlantılarım da var ve bunlar sorunsuz bir şekilde sorunsuz çalışıyorlardı.
wget

Buna geri dönüyorum. Buradaki sorun, bir çekirdeğin çekirdeğinden değil, özellikle bir donanım sağlama toplamı boşaltmasına adanan parçadan kaynaklanan bir sürücü aracına bağlıydı. Daha fazla bilgi için bu konuya bakın .
wget

Sorununu çözdü mü?
Toan Nguyen

@ ToanNguyen Aslında bu konuyu son gördüğümde çekirdeği düşürdüm ve tekrar çalışıyordu. Şimdi, basitçe hw checksum boşaltımını, hiçbir şeyi düşürmeden etkisizleştirdim ve sorunu çözdüm, evet.
wget

1

ssh -o IPQoS=throughput user@{ip}


Kullanıcının macOS kullandığını veya root olarak giriş yapmaya çalıştığına dair herhangi bir gösterge yoktur.
Kusalananda

Haklısın! Ancak, komutu “root” dan farklı bir pencerede ve kullanıcı ile test ettim. Hala çalışıyor!
vicky penkova

0

Hedef sunucudaki ssh.config dosyasını aşağıdaki komutla açın:

sudo nano /etc/ssh/ssh.config

Dosyanın sonuna aşağıdaki satırları ekleyin

MüşteriAliveInterval 300

ClientAliveCountMax 2

Ctrl + o tuşlarına basın ve girin.

sudo yeniden başlatma

Bu gerçekten benim için çalıştı. Aynı durumdaydım. Bunu ve bunu denedim ama bu adımları takip edin. Sadece bu. Umarım sizin için de işe yarar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.