كيفية حل خطأ 'تم رفض الإذن (المفتاح العام)'.

Kyfyt Hl Khta Tm Rfd Aladhn Almftah Al Am



يرمز SSH إلى Secure Shell وهو بروتوكول ينشئ اتصالات آمنة عن بعد بالخوادم والمضيفين البعيدين وأجهزة الشبكة الأخرى. باستخدام SSH، يمكن للمستخدمين التواصل بشكل آمن باستخدام أزواج المفاتيح العامة والخاصة لتشفير المعلومات بين العميل والمضيف البعيد.

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

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







يمكنك أيضا أن تتعلم كيفية إنشاء مفتاح SSH على أوبونتو باستخدام هذا الدليل.



لماذا يحدث خطأ 'تم رفض الإذن (المفتاح العام)' في SSH؟

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



  1. قد يحدث هذا الخطأ بسبب تكوين غير صحيح في الملف '/etc/ssh/sshd_config' الذي يحتوي على تكوينات SSH الافتراضية.
  2. يمكن أن يحدث الخطأ أيضًا بسبب عدم كفاية الأذونات على الملف '~/.ssh/authorized_key' الموجود على النظام البعيد. يحتوي هذا الملف على المفاتيح العامة لأنظمة العميل المسموح لها بإنشاء اتصالات SSH مع الخادم.

كيفية إصلاح الخطأ 'تم رفض الإذن (المفتاح العام)'.

يمكنك حل خطأ 'تم رفض الإذن (المفتاح العام)' باستخدام طريقتين مختلفتين:

الحل 1: التحقق من مصادقة كلمة المرور وتمكينها

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

للقيام بذلك، افتح الوحدة الطرفية باستخدام اختصار لوحة المفاتيح 'Ctrl+Alt+t' وقم بتنفيذ الخطوات التالية على جانب الخادم:

الخطوة 1: افتح ملف التكوين '/etc/ssh/sshd_config' في محرر النصوص. هنا، نستخدم محرر النصوص النانوي الافتراضي.

$ sudo نانو / إلخ / سش / sshd_config

الخطوة 2 : حدد موقع سطر 'PasswordAuthentication' وقم بتمكينه على 'yes'. إذا تم التعليق على هذا السطر، قم بإزالة الرمز '#' في البداية لإلغاء التعليق على هذا السطر.

احفظ التغييرات السابقة باستخدام 'Ctrl+O' واخرج من ملف التكوين عبر 'Ctrl+x'.

الخطوه 3 : قم بإعادة تحميل خدمة SSH أو إعادة تشغيلها مرة أخرى على نظامك باستخدام الأمر المذكور التالي لتطبيق التغييرات على الملف.

$ sudo إعادة تشغيل Systemctl SSHD

الآن، إذا حاولت الاتصال بعميل SSH الخاص بك مرة أخرى، فمن المفترض أن تكون قادرًا على الوصول إلى الجهاز المضيف البعيد.

$ سش صبرنا @ 10.0.2.15

الحل 2: تغيير الأذونات على مفاتيح_SSH المعتمدة
لا يُنصح باستخدام طريقة المصادقة المستندة إلى كلمة مرور SSH بسبب مشكلات أمنية. لذلك، تُفضل هذه الطريقة لأنها تصلح هذا الخطأ باستخدام أسلوب المصادقة الأساسية العامة. في معظم الحالات، يأتي الخطأ عن طريق إعداد ملكية وأذونات خاطئة على ملف '~/.ssh/authorized_keys' الموجود على الخادم البعيد. لإصلاح الخطأ باستخدام هذه الطريقة، عليك اتباع الخطوات المذكورة:

الخطوة 1 : افتح الملف '/etc/SSH/sshd_config' في محرر النصوص.

$ sudo نانو / إلخ / سش / sshd_config

الآن قم بتحرير الخيارات التالية:

رقم السماح لجذر الدخول
مصادقة Pubkey نعم

إذا كنت تريد استخدام تسجيل دخول الجذر، فاضبط 'permitrootlogin Yes'.

الخطوة 2 : قم بالتعليق على خيارات GSSAPI بإضافة الرمز '#' في بداية هذه السطور.

#GSSAPIAuthentication نعم
#GSSAPICleanupCredentials لا

قم أيضًا بتعيين 'UsePAM Yes' في ملف التكوين.

الخطوه 3 : احفظ التكوين السابق وأعد تشغيل خدمات SSH باستخدام هذا الأمر:

$ sudo إعادة تشغيل Systemctl SSHD

الآن، تحقق من الأذونات على المجلد الرئيسي الخاص بك:

$ ليرة سورية -لد

إذا لم تكن لديك أذونات القراءة والكتابة (drwx ——) في هذا المجلد، فقم بتعيين الأذونات باستخدام الأمر 'chmod':

$ sudo chmod / بيت / صبرنا

قم بتغيير الإذن في المجلد '.ssh' باستخدام الأمر التالي:

$ chmod 0700 / بيت / منزلك / .ssh

يحتوي المجلد '.ssh' على ملف 'authorized_keys'. تحقق من الأذونات على هذا الملف.

$ ليرة سورية -لد .ssh / Author_keys

يجب أن يكون لدى مالك الملف أذونات القراءة والكتابة. لتغيير أذونات الملف، استخدم الأمر التالي:

$ chmod 0600 / بيت / [ اسم المستخدم ] / .ssh / Author_keys

الآن، حاول الاتصال بمضيف SSH البعيد. نأمل ألا تتلقى أي خطأ أثناء الاتصال.

خاتمة

في دليل استكشاف الأخطاء وإصلاحها هذا، اكتشفنا كيفية حل الخطأ 'تم رفض الإذن (المفتاح العام)'. ناقشنا الأسباب المحتملة لهذا الخطأ وأوصينا بحلين مختلفين لحل هذا الخطأ. نأمل أن تساعدك الإرشادات السابقة في إصلاح هذا الخطأ على نظام Linux الخاص بك. إذا كنت ترغب في الحصول على المزيد من المعرفة، يمكنك زيارة الوثائق هنا . شكرًا!