منع SSH Connection Timing Out / Broken Pipe

يقدم لك هذا البرنامج التعليمي حلاً جيدًا جدًا إذا كنت تستخدم اتصالات SSH وواجهت الخطأ: SSH Connection Timing Out / Broken Pipe. قال خطأ بشكل غير صحيح. إنها رسالة تعلن أن الاتصال بين جهاز الكمبيوتر الخاص بك والخادم المتصل به قد تم إغلاقه Putty أو Terminal.

كلاهما كمستخدم Windows فضلا عن Mac (في السنوات العشر الماضية) قضيت الكثير من الوقت فيها اتصالات SSH إلى خوادم الويب وخوادم البريد الإلكتروني والسحابة وحزم النسخ الاحتياطي الأخرى. التوزيع المفضل لـ Linux مما لا شك فيه CentOS.

واحدة من أكثر الأشياء المجهدة التي يجب القيام بها administratorالثاني الخادم هو لمقاطعة اتصالات SSH. إما فجأة أثناء الأزرار في المعجون أو Terminal (غالبًا ما تكون مشكلة اتصال محلي) ، أو بعد وقت من "idle”- الفترة الزمنية التي لا يتفاعل خلالها مع الخادم البعيد من خلال جلسة SSH.

إذا كنت تستخدم Mac واستخدام الأداة Terminal للاتصال عن بعد عبر SSH ، فبالتأكيد بعد قليل من عدم النشاط ، تم قطع اتصالك بالرسالة:client_loop: send disconnect: Broken pipe". أعطيت الحل في المقال هنا، حيث قلت أنه يمكن إضافته "/etc/ssh/ssh_config" الخط:

Host *
ServerAliveInterval 120

الحل أعلاه صالح لمستخدمي Mac، وبصراحة أن تكون آخر التحديثات لـ macOS لا أحتفظ بالتغييرات التي تم إجراؤها في الملف بعد إعادة التشغيلssh_config"، ومشكلة فصل جلسة الخمول تعود.

حل يمكننا من خلاله منع انقطاع جلسة SSH على مسافة محددة Terminal (macOS) أو المعجون (Windows) ، يشبه إلى جانب "ServerAliveIntervalمن جهاز الكمبيوتر الخاص بنا ، لتحديد الخادم البعيد للتواصل بشكل دوري مع تطبيق / عميل SSH.
لهذا السبب يتعين علينا وضع التوجيه "ClientAliveInterval"في"sshd_config"على الخادم الذي نتصل به.

منع SSH Connection Timing Out / Broken Pipe (ssh_config نصائح)

1. نتصل بالخادم الذي نريد تنشيطه ونحدد فترة زمنية لـ "ClientAliveInternal". يفتح SSH in Putty, Terminal أو أداة أخرى مماثلة ونقوم بالمصادقة مع المستخدم root.

ssh root@server.hostname

2. قم بتنفيذ سطر الأوامر للبحث في الملف "sshd_config" لو "ClientAliveInterval"نشط وما هي الفترة الزمنية المحددة.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

في السيناريو الخاص بنا "ClientAliveInterval"معطل وقيمة الفاصل الزمني هي صفر.

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

الهاشتاج "#"إذا تم وضعه أمام السطر ، فإنه يلغيه. هي غير نشطة.

3. نفتح مع المحرر "nano"أو"vim"ملف"sshd_config". أنا أفضل "nano".

sudo nano /etc/ssh/sshd_config

4 - تحذف عبارة "#"أمام الخط"ClientAliveInterval"وحدد عدد الثواني: 60 ، 120 ...

ClientAliveInterval 120
ClientAliveCountMax 10

5. احفظ التغييرات وأعد تشغيل الخدمة "sshd".

sudo systemctl restart sshd

ClientAliveInterval : هو الفاصل الزمني بالثواني الذي يرسل فيه الخادم حزمة بيانات فارغة إلى العميل / التطبيق الذي نتصل من خلاله بالخادم. هذه الممارسة ستبقي الاتصال نشطًا / نشطًا

ClientAliveCountMax : عملاء SSH لا يستجيبون في 10 دورات كل 120 ثانية (التي وضعتها "ClientAliveInterval") سيتم قطع الاتصال. أي بعد 20 دقيقة يقوم فيها العميل SSH لم يستجب للحزم الفارغة التي أرسلها الخادم.

مع هذه التغييرات الاتصال SSH سيكون أكثر استقرارًا ويبقى آمنًا.

شغوفة بالتكنولوجيا ، أكتب بسرور StealthSettings.com منذ عام 2006. لدي خبرة واسعة في أنظمة التشغيل: macOS, Windows سي Linuxبل أيضًا في لغات البرمجة ومنصات التدوين (WordPress) وللمتاجر عبر الإنترنت (WooCommerce، ماجنتو، بريستاشوب).

كيف » Linux » منع SSH Connection Timing Out / Broken Pipe
اترك تعليق