خطأ تسجيل الدخول SSH إذن مرفوض
تُستخدم مفاتيح SSH (Secure Shell) ضمن بروتوكول SSH لمصادقة الجلسة وإنشاء اتصال بين الجهاز المحلي وخادم SSH. في السياق الطبيعي، أفضل طريقة لإنشاء هذا الاتصال هي باستخدام مفتاح عام، وبمجرد إنشاء اتصال بالخادم، يلغي SSH الحاجة إلى كلمة مرور عند كل تسجيل دخول ويقوم بإنشاء اتصال تلقائيًا مع ذلك الخادم.

ومع ذلك، عند استخدام مفتاح عام، قد يتم رفض طلب اتصال عميل SSH من قبل الخادم أحيانًا، مما قد يتسبب في ظهور خطأ رفض إذن SSH.
ستعرض هذه المقالة حلولاً مختلفة لإصلاح خطأ “رفض إذن SSH”، ولكن قبل ذلك، دعنا نلقي نظرة على أسباب هذا الخطأ.
هناك سببان رئيسيان يمكن أن يؤديا إلى حدوث هذا الخطأ. أحد الأسباب الأكثر شيوعًا هو تعطيل مصادقة كلمة المرور على خادم SSH.
سبب شائع آخر لهذا الخطأ هو عدم وجود إذن وصول إلى مجلد “ssh” مما يعني بشكل أساسي أن الوصول إلى ملف Authorized_keys معطل.
الحل 1: السماح بمصادقة كلمة المرور على خادم SSH
كما ذكرنا أعلاه، إذا لم يقم الخادم بتمكين اتصال SSH باستخدام مصادقة كلمة المرور، فمن المرجح أن يفشل الاتصال.
- لتجنب ذلك، انتقل إلى خادم SSH، ومن ذلك الجهاز/الخادم، افتح ملف التكوين باستخدام الأمر التالي:
sudo nano /etc/ssh/sshd_config
سيفتح أمر التكوين هذا في الطرفية:

- في ملف التكوين هذا، ابحث عن السطر “Password Authentication”، و”أزل التعليق” عن السطر عن طريق إزالة الرمز “#” الموجود في نهايته:


- بعد الانتهاء من ذلك، احفظ ملف التكوين واخرج منه بالضغط على “CTRL + O” ثم “CTRL + X”. بعد ذلك، الخطوة التالية هي إعادة تشغيل خدمة SSH، وللقيام بذلك استخدم الأمر التالي:
sudo systemctl restart sshd

- بعد الانتهاء من ذلك، اتصل بخادم SSH مرة أخرى من العميل للحصول على النتائج التالية:

لقد قمت بحل الخطأ والاتصال بخادم SSH بنجاح.
الحل 2: تمكين مصادقة المفتاح العام
في بعض الأحيان، قد يواجه المستخدمون تعديلاً أو اختلافًا في الخطأ حيث تصبح حالة الخطأ “SSH Permission Denied (public key)”، وينتج هذا الخطأ عن عدم تمكين المصادقة العامة على خادم SSH.
- في مثل هذه الحالات، انتقل إلى جهاز الكمبيوتر الخاص بخادم SSH، وافتح ملف التكوين باستخدام الأمر التالي:
sudo nano /etc/ssh/sshd_config
في ملف التكوين، قم ببساطة بتعطيل تسجيل الدخول كـ root وتمكين “PublicKeyAuthentication”:

- بعد ذلك، تأكد من تمكين خيارات UsePAM أيضًا في ملف التكوين:

- مرة أخرى، احفظ واخرج من الملف باستخدام “CTRL + O” ثم “CTRL + X”، ثم أعد تشغيل خدمة SSH باستخدام الأمر:
sudo nano /etc/ssh/sshd_config
- بمجرد الانتهاء من ذلك، أعد محاولة الاتصال للحصول على النتائج التالية:

لقد قمت بحل خطأ رفض إذن SSH (SSH Permission Denied) (المفتاح العام).
الحل 3: السماح بالوصول إلى دليل SSH
في كثير من الأحيان، يتم تخزين المفتاح العام داخل الدليل الفرعي للمفاتيح المصرح بها (authorized_keys) داخل دليل “ssh”، وإذا لم تكن صلاحيات هذا الدليل الفرعي أو الدليل بأكمله صحيحة، فسيعود اتصال SSH في النهاية بخطأ.
- في مثل هذه الحالات، قم ببساطة بتغيير صلاحيات ملف “authorized_keys” باستخدام الأمر التالي:
sudo chmod 600 ~/.ssh/authorized_keys
سيقوم هذا الأمر بتمكين صلاحيات القراءة والكتابة للمفاتيح المصرح بها.
- بعد ذلك، امنح صلاحية التنفيذ للدليل الأصلي باستخدام الأمر:
sudo chmod 700 ~/.ssh
بعد تشغيل هذه الأوامر، حاول الاتصال بخادم SSH للحصول على النتائج التالية:

تُظهر النتيجة أن الخطأ قد تم حله.
إصلاح إضافي لخطأ رفض إذن SSH
قد يحدث خطأ “Permission Denied” عندما تكون كلمة المرور الخاصة بخادم SSH غير صحيحة. غالبًا ما يكون السبب خطأ إملائيًا، أو في بعض الأحيان يكون الخادم قد غيّر كلمة المرور دون علم العميل. في مثل هذه الحالات، عندما يُدخل المستخدم كلمة المرور لاتصال SSH، يظهر الخطأ التالي في الطرفية:

في مثل هذه الحالات، اتصل بدعم خادم SSH واسأل عما إذا كانوا قد غيّروا كلمة المرور، أو ببساطة أعد التحقق مما إذا كنت قد ارتكبت خطأ إملائيًا أم لا. بعد ذلك، ستتمكن من استنتاج الخطأ والاتصال بخادم SSH:

خطأ “SSH Permission Denied” ليس جديدًا وينتج بشكل أساسي عن عدم تمكين مصادقة كلمة المرور، أو عدم تمكين مصادقة المفتاح العام، وأيضًا بسبب وجود أذونات خاطئة على دليل “ssh” أو “authorized_keys”. لقد أوضح هذا الدليل الحلول التي يمكن استخدامها لإصلاح الخطأ والمتابعة بالاتصال. بالإضافة إلى ذلك، يمكن أن يحدث هذا الخطأ أيضًا بسبب تغيير في كلمة المرور من قبل خادم SSH، أو بسبب خطأ إملائي. في هذه الحالة، من الأفضل الاتصال بدعم خادم SSH أو إعادة كتابة كلمة المرور مع التأكد من عدم وجود أخطاء إملائية.









Comments are closed.