يعد Secure Shell (SSH) أداة حيوية لإدارة الخادم عن بعد. وفي حين أن مشكلات المصادقة غالبًا ما تكون السبب الرئيسي لأخطاء الاتصال، إلا أن العديد من العوامل الأخرى يمكن أن تؤدي إلى فشل SSH. تستكشف هذه المقالة الأسباب الشائعة لعدم المصادقة وتوفر خطوات استكشاف الأخطاء وإصلاحها لحلها.
1. مشكلات الشبكة
- حظر جدار الحماية: قد تحظر جدران الحماية منفذ SSH (افتراضيًا: 22)، مما يمنع الاتصالات.
- مشكلات إعادة توجيه المنفذ: في إعدادات NAT، يمكن لإعادة توجيه المنفذ بشكل غير صحيح أن تحظر وصول SSH.
- مهلة الشبكة: يمكن أن تؤدي الاتصالات غير المستقرة أو زمن الوصول المرتفع إلى مقاطعة اتصال SSH.
استكشاف الأخطاء وإصلاحها:
- تحقق من أن منفذ SSH مفتوح باستخدام
telnet
أوnc
. - تحقق من تكوينات جهاز التوجيه أو NAT لإعادة توجيه المنفذ بشكل صحيح.
- اختبر استقرار الشبكة باستخدام أدوات مثل
ping
.
2. مشاكل تكوين جانب الخادم
- عدم تشغيل SSH Daemon: إذا لم يكن
sshd
قيد التشغيل، فلن يقبل الخادم الاتصالات. - المنفذ غير القياسي: قد يكون الخادم مهيأ لاستخدام منفذ غير 22.
- قيود IP: قد ترفض الخوادم الوصول من عناوين IP معينة لأسباب أمنية.
استكشاف الأخطاء وإصلاحها:
- تأكد من تشغيل خدمة
sshd
:sudo systemctl status sshd
. - تحقق من ملف تكوين SSH الخاص بالخادم لمعرفة المنفذ والقيود الصحيحة:
/etc/ssh/sshd_config
- اختبر الاتصال من شبكة مختلفة لاستبعاد القيود القائمة على IP.
3. مشكلات التشفير/البروتوكول
- إصدارات البروتوكول غير المتوافقة: قد يتسبب عدم توافق SSH-1 وSSH-2 في حدوث أخطاء.
- خوارزميات التشفير غير المدعومة: قد تفشل الخوادم أو العملاء الذين يعتمدون على تشفير قديم أو معطل في التفاوض على الاتصال.
- فشل تبادل المفاتيح: يمكن أن تؤدي خوارزميات تبادل المفاتيح غير المتطابقة إلى تعطيل الاتصال.
استكشاف الأخطاء وإصلاحها:
- استخدم الأمر التالي لتحديد مشكلات تفاوض البروتوكول والتشفير:
ssh -v
- قم بتحديث عميل وخادم SSH لضمان التوافق مع المعايير الحديثة.
- حدد صراحةً تشفيرًا متوافقًا أو خوارزمية تبادل مفاتيح في أمر SSH.
4. مشكلات DNS أو اسم المضيف
- فشل حل اسم المضيف: لا يمكن للعميل حل اسم مضيف الخادم إلى عنوان IP.
- تكوين DNS العكسي: يمكن أن يتسبب تكوين DNS العكسي بشكل غير صحيح على الخادم في حدوث مشكلات في الاتصال.
استكشاف الأخطاء وإصلاحها:
- اختبر الاتصال باستخدام عنوان IP الخاص بالخادم بدلاً من اسم المضيف.
- تحقق من تكوين DNS وإعداد DNS العكسي على الخادم.
5. قيود الجلسة
- الوصول إلى الحد الأقصى للاتصالات: قد تفرض خوادم SSH حدًا على الاتصالات المتزامنة.
- القيود المستندة إلى IP: تحد بعض الخوادم من عدد الاتصالات من عنوان IP واحد.
استكشاف الأخطاء وإصلاحها:
- تحقق من سجلات الخادم لمعرفة حدود الجلسة:
/var/log/auth.log
أو/var/log/secure
- قم بزيادة الحد الأقصى للاتصالات المسموح بها في تكوين خادم SSH إذا لزم الأمر.
6. عدم تطابق مفتاح المضيف
- تغييرات مفتاح المضيف: إذا تغير مفتاح مضيف الخادم (على سبيل المثال، بعد إعادة البناء)، سيرفض العميل الاتصال.
- ملف
known_hosts
تالف: يمكن أن تؤدي المشكلات المتعلقة بملفknown_hosts
الخاص بالعميل إلى حظر الاتصالات.
استكشاف الأخطاء وإصلاحها:
- قم بإزالة مفتاح الخادم القديم من ملف "known_hosts":
ssh-keygen -R <hostname or IP>
. - أعد الاتصال لتوليد مفتاح المضيف المحدث وحفظه.
7. أذونات المستخدم والسياسات
- قيود الحساب: قد يتم قفل حسابات المستخدم أو تقييد وصولها إلى SSH.
- تكوينات Chroot أو Jail: قد تمنع بيئات السجن غير المهيأة بشكل صحيح وصول SSH.
استكشاف الأخطاء وإصلاحها:
- تحقق من أذونات حساب المستخدم على الخادم.
- تحقق من خيارات تكوين SSH مثل
AllowUsers
وPermitRootLogin
.
8. قيود الموارد
- استنفاد وحدة المعالجة المركزية أو الذاكرة: قد تفشل الخوادم المثقلة في التعامل مع طلبات SSH.
- مشكلات مساحة القرص: قد يؤدي عدم كفاية مساحة القرص لسجلات SSH أو الملفات المؤقتة إلى تعطيل الاتصالات.
استكشاف الأخطاء وإصلاحها:
- مراقبة موارد الخادم باستخدام أدوات مثل
top
أوhtop
. - تحرير مساحة القرص إذا كان الخادم يعمل بمساحة منخفضة.
9. أخطاء البرامج أو عدم توافق الإصدارات
- برامج SSH القديمة: قد تفتقر الإصدارات القديمة إلى دعم البروتوكولات الحديثة أو طرق التشفير.
- أخطاء جانب العميل: قد تتسبب مشكلات برنامج عميل SSH أيضًا في حدوث أخطاء.
استكشاف الأخطاء وإصلاحها:
- تحديث برنامج SSH الخاص بالعميل والخادم إلى أحدث الإصدارات المستقرة.
- اختبار الاتصال باستخدام عميل SSH بديل.
10. تداخل برامج الأمان
- مكافحة الفيروسات أو منع التطفل: قد يحظر برنامج الأمان على العميل أو الخادم حركة مرور SSH أو يقاطعها.
- مشكلات VPN أو البروكسي: يمكن أن تتداخل شبكات VPN أو البروكسي غير المهيأة بشكل صحيح مع اتصالات SSH.
استكشاف الأخطاء وإصلاحها:
- قم بتعطيل برنامج مكافحة الفيروسات أو منع التطفل مؤقتًا واختبر الاتصال.
- تأكد من أن إعدادات VPN أو البروكسي تسمح بمرور حركة مرور SSH.
11. عدم تمكين الخدمة على جهاز Mac البعيد
- تسجيل الدخول عن بُعد: لم يتم تمكين الخدمة. افتح إعدادات النظام > عام > المشاركة وقم بتمكين تسجيل الدخول عن بُعد.
الخاتمة
على الرغم من أن المصادقة سبب شائع لأخطاء SSH، إلا أن عوامل أخرى مثل مشكلات الشبكة وتكوين الخادم وعدم تطابق البروتوكول والقيود المفروضة على الموارد يمكن أن تعطل أيضًا الاتصالات الآمنة. من خلال تحديد هذه المشكلات المحتملة ومعالجتها بشكل منهجي، يمكنك استعادة وظيفة SSH والحفاظ على الوصول عن بُعد بسلاسة.
بالنسبة للمشكلات المستمرة، فإن تحليل السجل التفصيلي لكل من العميل والخادم أمر بالغ الأهمية لتحديد السبب الدقيق.