ملحوظة: تم اختبار الأوامر التي تمت مناقشتها هنا على Ubuntu 20.04 LTS. نفس الأوامر صالحة أيضًا لنظام دبيان.
إصلاح خطأ رفض الاتصال
هذا هو خطأ رفض الاتصال الذي قد تواجهه أثناء الاتصال بنظام بعيد عبر SSH.
اتبع الحلول التالية خطوة بخطوة لحل خطأ رفض الاتصال.
تأكد من تثبيت OpenSSH
أحد أسباب تلقيك لخطأ رفض الاتصال هو أن خادم OpenSSH غير مثبت على الخادم الهدف.
أولاً ، ستحتاج إلى التأكد من تثبيت خادم OpenSSH على النظام الذي تحاول الوصول إليه عبر SSH. للتحقق مما إذا كان OpenSSH مثبتًا أم لا ، قم بإصدار الأمر التالي في المحطة الطرفية للخادم الهدف:
$سودوقائمة ملائمة--المثبتة | سيطرةopensh- الخادم
يقوم هذا الأمر بتصفية مصطلح opensh-server بشكل أساسي من قائمة الحزم المثبتة. إذا تلقيت الإخراج المماثل التالي ، فهذا يشير إلى تثبيت خادم OpenSSH. من ناحية أخرى ، إذا لم تتلقى أي مخرجات ، فهذا يعني أن OpenSSH مفقود على الخادم الهدف.
في حالة عدم تثبيته على الخادم الهدف ، يمكنك تثبيته باستخدام الأمر التالي مثل sudo:
$سودوملائمتثبيتopensh- الخادمثم اكتب كلمة مرور sudo ، وعندما يُطلب منك التأكيد ، اضغط على 'y'. بمجرد التثبيت ، قم بتأكيده باستخدام نفس الأمر
$سودوقائمة ملائمة--المثبتة | سيطرةopensh- الخادمتحقق من خدمة SSH
تعمل خدمة OpenSSH في الخلفية وتستمع إلى الاتصالات الواردة. يمكن أن تكون خدمة OpenSSH المتوقفة أحد أسباب تلقيك لخطأ رفض الاتصال.
لذلك ، من الضروري التحقق مما إذا كانت خدمة OpenSSH تعمل أم لا باستخدام الأمر التالي في Terminal:
$سودوالخدماتsshالحالةإذا رأيت الإخراج التالي ، فهذا يعني أن الخدمة نشطة وتعمل في الخلفية.
من ناحية أخرى ، إذا تلقيت غير نشط (ميت) ، هذا يعني أن الخدمة لا تعمل . يمكنك تشغيل خدمة OpenSSH باستخدام الأمر التالي مثل sudo في Terminal:
$سودوالخدماتsshبدايةلإعادة تشغيل الخدمة ، استخدم الأمر التالي:
$سودوالخدماتsshاعادة البدءتحقق من منفذ استماع خادم SSH
سبب آخر لتلقي خطأ رفض الاتصال هو أنك تحاول الاتصال بالمنفذ الخطأ. على سبيل المثال ، إذا تم تكوين الخادم للاستماع على المنفذ 2244 ، وتحاول الاتصال بالمنفذ الافتراضي 22 ، ففي هذه الحالة ، ستتلقى خطأ رفض الاتصال.
قبل محاولة الاتصال ، تحتاج إلى التحقق من منفذ الاستماع لخادم SSH. إذا كان هذا هو المنفذ الافتراضي (22) ، فيمكنك توصيله باستخدام الأمر التالي:
$ssh [اسم االمستخدم]@[عن بعد IP أواسم المضيف]إذا كان هناك منفذ آخر غير المنفذ الافتراضي ، فستحتاج إلى الاتصال بخادم SSH باستخدام هذا المنفذ:
$ssh -p [رقم المنفذ] [اسم االمستخدم]@[ip_address]من أجل التحقق من المنفذ الذي يستمع إليه خادم OpenSSH ؛ استخدم الأمر التالي في Terminal:
$سودو netstat -ltnp | سيطرةsshdسوف تتلقى الإخراج مشابهًا لما يلي:
في العمود الثالث ، يمكنك رؤية منفذ استماع الخادم هو 2244. إذا كانت هذه هي الحالة ، فستحتاج إلى الاتصال بخادم SSH باستخدام هذا المنفذ.
$ssh -p [2244] [اسم االمستخدم]@[ip_address]السماح لـ SSH في جدار الحماية
يمكن أن يكون جدار الحماية الذي يحظر منفذ SSH سببًا رئيسيًا آخر لخطأ رفض الاتصال. إذا كان جدار الحماية يعمل على خادم SSH ، فستحتاج إلى السماح لمنفذ SSH فيه باستخدام الأمر التالي. استبدل ملف ميناء عن طريق رقم المنفذ الذي يستمع إليه خادم SSH:
$سودوufw تسمح الميناء/برنامج التعاون الفنيعلى سبيل المثال ، إذا كان خادم SSH يستمع إلى المنفذ 2244 ، فيمكنك السماح به في جدار الحماية على النحو التالي:
$سودوufw تسمح2244/برنامج التعاون الفني
أعد تحميل جدار الحماية باستخدام الأمر التالي:
$سودوإعادة تحميل ufwللتأكد من إضافة القواعد ، تحقق من حالة جدار الحماية باستخدام الأمر التالي في Terminal:
$سودوحالة ufwيوضح الإخراج التالي أن المنفذ 2244 مسموح به في جدار الحماية.
حل تعارض عنوان IP المكرر
يمكن أن يحدث خطأ رفض الاتصال أيضًا بسبب تعارض عنوان IP المكرر. لذلك ، تأكد من أن النظام لا يحتوي على عنوان IP مكرر.
قم بتثبيت الأداة المساعدة arping على نظامك باستخدام الأمر التالي:
$سودوملائمتثبيتأربينجثم قم باختبار اتصال عنوان IP لخادم SSH.
$بينغ <عنوان IP>في الإخراج ، إذا رأيت الرد من أكثر من عنوان MAC ، فإنه يوضح أن هناك عنوان IP مكررًا يعمل على النظام. إذا كانت هذه هي الحالة ، فقم بتغيير عنوان IP لخادم SSH وحاول الاتصال مرة أخرى بعنوان IP الجديد.
هذه هي طريقة إصلاح خطأ رفض الاتصال عن طريق المنفذ 22 في أنظمة Linux. في هذه المقالة ، وصفنا بعض الطرق التي ستساعدك بالتأكيد في حل خطأ رفض الاتصال.