ملاحظة: قبل البدء ، تأكد من أن الجهاز الذي ترغب في الاتصال به متصل بالإنترنت وأن الخطأ ليس نتيجة عدم توفر الجهاز.
المشكلة 1: خدمة SSH لا تعمل
سبب شائع لأخطاء اتصال SSH هو عدم تشغيل الخدمة على المضيف البعيد. يمكن أن يكون هذا بسبب إيقاف تشغيل الخدمة العرضي أو عدم بدء الخدمة بعد إعادة تشغيل النظام.
للتحقق مما إذا كانت خدمة SSH قيد التشغيل ، استخدم مدير النظام باستخدام الأمر:
سودوsystemctl حالة sshd
يجب أن يبلغ الأمر أعلاه ما إذا كانت الخدمة تعمل أم لا ، كما هو موضح في لقطات الشاشة أدناه.
حل
لحل مشكلات SSH الناتجة عن عدم تشغيل الخدمة ، استخدم النظام لبدء الخدمة. إذا كانت الخدمة تستجيب مع وجود أخطاء ، فتحقق من السجلات وأصلح المشكلات التي تم الإبلاغ عنها في السجل.
استخدم الأمر أدناه للتحقق من سجلات الخدمة.
سيطرة 'sshd' /أين/سجل/المصادقةاستخدم الأمر أدناه لبدء أو إيقاف خدمة SSH باستخدام systemd.
سودوsystemctl بدء sshdالمشكلة 2: SSH على منفذ غير قياسي
المشكلة الثانية الشائعة عند تصحيح أخطاء اتصالات SSH هي استخدام منفذ غير قياسي. إذا كان SSH يعمل على منفذ آخر غير المنفذ الافتراضي 22 ، فلن تتصل بالمضيف البعيد ما لم تحدد صراحة المنفذ الذي يعمل عليه SSH.
لعرض المنفذ الذي يعمل عليه SSH ، استخدم أداة مثل netstat على النحو التالي:
[المئات@سنتوس 8 ~]$سودو netstat -بتلن | سيطرة sshبرنامج التعاون الفني0 00.0.0.0:560.0.0.0:*استمع1131/sshd
برنامج التعاون الفني 60 0:::56:::*استمع1131/sshd
يوضح الإخراج أعلاه المنفذ الذي تعمل عليه خدمة SSH. في هذه الحالة ، يكون المنفذ 56.
حل
لحل هذه المشكلة ، يمكنك استخدام المعلومات من netstat لتحديد المنفذ بشكل صريح في الأمر ssh الخاص بك على النحو التالي:
sshاسم االمستخدم@IP -p 56المشكلة 3: خدمة أخرى تستخدم نفس المنفذ
سبب آخر لأخطاء اتصال SSH هو إذا كانت خدمة أو عملية أخرى تستخدم أيضًا نفس المنفذ مثل خدمة SSH. على سبيل المثال ، إذا تم تحديد SSH بشكل صريح للتشغيل على المنفذ 80 (فكرة سيئة) ، فقد تستخدم خدمة مثل Apache نفس المنفذ.
لمعرفة ما إذا كانت هناك عملية أخرى تستخدم نفس المنفذ مثل SSH ، تحقق من السجلات باستخدام الأمر:
سودوجورنال سي تي إل-tsshdيجب أن يُرجع هذا الأمر خطأً مثل الخطأ الموضح أدناه ، مما يشير إلى ما إذا كانت هناك عملية أخرى تستخدم المنفذ المرتبط بـ SSH.
sshd[110611]: خطأ: ربط بالمنفذ80على 0.0.0.0 فشل: العنوان بالفعلفياستعمالمن الجيد التأكد من أن خطأ ربط المنفذ ناتج عن خدمة أخرى ، وليس إجراءات أمنية مثل SELinux.
حل
هناك طرق مختلفة يمكنك استخدامها لحل هذه المشكلة. وتشمل هذه:
الأول هو ربط خدمة SSH بمنفذ مختلف. يمكنك القيام بذلك عن طريق تحرير ملف تكوين SSH. على سبيل المثال ، قم بتغيير إدخال المنفذ إلى المنفذ 3009 كما هو موضح في الأوامر:
سودو نانو /إلخ/ssh/sshd_configميناء3009
هناك طريقة أخرى يمكنك استخدامها لحل هذه المشكلة وهي إيقاف الخدمة باستخدام منفذ SSH. على سبيل المثال ، أوقف خدمة اباتشي باستخدام المنفذ 80 على النحو التالي:
سودوتوقف systemctl httpdسودوsystemctl تعطيل httpd
العدد 4: جدار الحماية
إذا كنت قد جربت جميع الطرق المذكورة أعلاه ولا يزال لديك اتصال SSH ، فيمكنك الانتقال إلى السبب المحتمل التالي للمشكلة: قيود جدار الحماية. اعتمادًا على طريقة جدار الحماية التي تستخدمها (UFW أو Iptables) ، تحتاج إلى التأكد من أن جدار الحماية يسمح باتصالات SSH.
حل
قواعد جدار الحماية واسعة ويمكن أن تختلف حسب تكوين النظام. وبالتالي ، لا يمكنني تغطية كل جانب. ومع ذلك ، فإن ما يلي هو حل بسيط لضمان السماح بخدمة SSH على جدار حماية UFW.
سودوufw تسمح<ssh_port> /برنامج التعاون الفنييمكنك أيضًا إعادة تعيين جميع قواعد UFW والبدء من جديد. سيسمح لك ذلك باستكشاف أخطاء اتصالات جدار الحماية من البداية.
سودوإعادة تعيين ufwالمشكلة 5: تعطيل تسجيلات كلمة المرور
في بعض الأحيان ، يمكنك تكوين SSH بحيث لا يقبل تسجيلات الدخول بكلمة مرور واستخدام مصادقة المفتاح العام فقط. يمكن أن يتسبب ذلك في مشكلة إذا لم يكن المفتاح العام متاحًا على الخادم أو فقد زوج المفاتيح الخاص بك.
للتحقق مما إذا كان مسموحًا بتسجيل الدخول بكلمة المرور ، قم بتكوين ssh على النحو التالي:
[المئات@سنتوس 8]$سودو سيطرةالمصادقة كلمة المرور/إلخ/ssh/sshd_config#PasswordAuthentication نعم
المصادقة كلمة المرورنعم
# مصادقة كلمة المرور. اعتمادًا على تكوين PAM الخاص بك ،
# مصادقة PAM ، ثم قم بتمكينها ولكن قم بتعيين مصادقة كلمة المرور
يوضح الإخراج أعلاه أن تسجيلات كلمة المرور مسموح بها.
حل
لحل المشكلة المذكورة أعلاه ، يمكنك استخدام طريقتين:
أولاً ، إذا تم تعيين القيمة على 'لا' ، فقم بتغيير قيمة PasswordAuthentication إلى 'نعم' وأعد تشغيل خدمة ssh.
الطريقة الأخرى هي إنشاء زوج قيم مفتاح ssh واستخدامه لتسجيل الدخول إلى الخادم. لمعرفة كيفية إنشاء زوج من المفاتيح والقيمة ssh ، استخدم الدليل التالي.
https://linuxhint.com/find-ssh-public-key/
https://linuxhint.com/use-ssh-copy-id-command/
استنتاج
في هذا الدليل السريع ، ناقشنا الأسباب الرئيسية لأخطاء اتصال SSH وكيف يمكنك حلها. على الرغم من أن هذا الدليل يغطي المشكلات الشائعة ، فقد تجد أخطاء خاصة بنظامك بناءً على التكوين والأذونات.