Önlemek SSH Connection Timing Out / Broken Pipe

Bu öğretici, SSH bağlantılarını kullanıyorsanız ve şu hatayla karşılaşırsanız size çok iyi bir çözüm sunar: SSH Connection Timing Out / Broken Pipe. Yanlış söylenen hata. Bilgisayarınız ile bağlı olduğu sunucu arasındaki bağlantının kapatıldığını bildiren mesajdır. Putty veya Terminal.

İkisi de bir kullanıcı olarak Windows yanı sıra Mac (son 10 yılda) çok zaman geçirdim SSH bağlantıları web sunucularına, e-posta sunucularına, buluta ve diğer yedekleme paketlerine. Favori dağıtımı Linux Bu hiç şüphesiz CentOS.

En stresli şeylerden biri administratorsunucuların ii'si SSH bağlantılarını kesmek için. Ya Putty'de iliklerken aniden ya da Terminal (çoğunlukla yerel bir bağlantı sorunudur) veya bir süre sonra "idle”- SSH oturumu aracılığıyla uzak sunucuyla etkileşime girmediği süre.

Eğer kullanıyorsanız Mac ve yardımcı programı kullanın Terminal SSH üzerinden uzak bağlantı için, o zaman kesinlikle bazı hareketsizlikten sonra mesajla bağlantınız kesildi:client_loop: send disconnect: Broken pipe”. Çözümü verdim buradaki makale"eklenebileceğini söyledim"/etc/ssh/ssh_config" çizgi:

Host *
ServerAliveInterval 120

Yukarıdaki çözüm şu kullanıcıları için geçerlidir: Macve dürüst olmak gerekirse en son güncellemeler olmak macOS Yeniden başlattıktan sonra dosyada yapılan değişiklikleri saklamıyorumssh_config", Ve boştaki bir oturumun bağlantısının kesilmesiyle ilgili sorun geri dönüyor.

Bir SSH oturumunun bağlantısının kesilmesini engelleyebileceğimiz bir çözüm Terminal (macOS) ya da macun (Windows), "ServerAliveInterval"Bilgisayarımızdan, SSH uygulaması / istemcisi ile periyodik olarak iletişim kuracak uzak sunucuyu belirlemek için.
Bu yüzden direktif koymalıyız "ClientAliveInterval" içinde "sshd_config”Bağlandığımız sunucuda.

Önlemek SSH Connection Timing Out / Broken Pipe (ssh_config ipuçları)

1. Aktif etmek istediğimiz sunucuya bağlanıyoruz ve " için bir zaman aralığı belirliyoruz.ClientAliveInternal". açık SSH in Putty, Terminal veya başka bir benzer yardımcı program ve kullanıcıyla kimlik doğrulaması yaparız root.

ssh root@server.hostname

2. " dosyasında arama yapmak için komut satırını çalıştırın.sshd_config" eğer "ClientAliveInterval” aktif ve ayarlanan süre nedir.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

Bizim senaryomuzda "ClientAliveInterval” devre dışı bırakılır ve zaman aralığı değeri sıfırdır.

[root@buffy ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[root@buffy ~]# 

Hashtag "#"Bir sıranın önüne yerleştirilirse, iptal eder. Hareketsiz.

3. Editör ile açıyoruz "nano"Ya da"vim"Dosya"sshd_config". Tercih ederim "nano".

sudo nano /etc/ssh/sshd_config

4. "öğesini silin"#"Sıranın önünde"ClientAliveInterval"Ve bir saniye sayısı ayarlayın: 60, 120…

ClientAliveInterval 120
ClientAliveCountMax 10

5. Değişiklikleri kaydedin ve hizmeti yeniden başlatın "sshd".

sudo systemctl restart sshd

ClientAliveInterval : Sunucunun, sunucuya bağlandığımız istemciye / uygulamaya boş veri paketi gönderdiği saniye cinsinden zaman aralığıdır. Bu uygulama bağlantıyı canlı / aktif tutacaktır.

ClientAliveCountMax : Yanıt vermeyen SSH istemcileri 10 saniyelik 120 döngüde (olarak ayarla "ClientAliveInterval") bağlantı kesilir. Yani, müşterinin girdiği 20 dakika sonra SSH sunucu tarafından gönderilen boş paketlere yanıt vermedi.

Bu değişikliklerle bağlantı SSH daha kararlı olacak ve güvenli kalacaktır.

Teknolojiye tutkulu, 2006 yılından beri StealthSettings.com'da yazıyorum. macOS, Windows ve Linux işletim sistemlerinde geniş deneyimim var, aynı zamanda programlama dilleri ve blog platformları (WordPress) ile online mağazalar için (WooCommerce, Magento, PrestaShop) bilgi sahibiyim.

nasıl » Linux » Önlemek SSH Connection Timing Out / Broken Pipe
Leave a Comment