كيفية تصحيح أخطاء اتصالات SSH

How Debug Ssh Connections



سيتناول هذا البرنامج التعليمي بعض الأساليب والتقنيات السريعة التي يمكنك استخدامها لتشخيص اتصالات SSH المختلفة ، بما في ذلك عندما لا يمكنك الاتصال بـ SSH وأخطاء المصادقة وما إلى ذلك.

ملاحظة: قبل البدء ، تأكد من أن الجهاز الذي ترغب في الاتصال به متصل بالإنترنت وأن الخطأ ليس نتيجة عدم توفر الجهاز.







المشكلة 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 وكيف يمكنك حلها. على الرغم من أن هذا الدليل يغطي المشكلات الشائعة ، فقد تجد أخطاء خاصة بنظامك بناءً على التكوين والأذونات.