حل مشكلة بروتوكول التفويض غير المدعوم في PuTTY X11 proxy

PuTTY X11 هي آلية للوصول عن بُعد إلى التطبيقات والخوادم عن طريق إعادة توجيه عرض هذه التطبيقات والتحكم فيها إلى الجهاز المضيف المحلي. تُمكّن هذه الآلية الجهاز المحلي للمستخدم من التفاعل مع واجهة المستخدم الرسومية (GUI) و SSH للأجهزة البعيدة، مما يسهل الوصول إليها.

خطأ PuTTY X11 proxy: بروتوكول ترخيص غير مدعوم

ومع ذلك، عند محاولة الوصول إلى الخوادم أو التطبيقات، قد يواجه المستخدم خطأ PuTTY X11 proxy: Unsupported authorization protocol. يمكن أن يحدث هذا الخطأ لعدة أسباب، منها:

  • ملكية خاطئة لملف Xauthority (والملفات المقفلة)
  • ملف Xauthority تالف
  • تكوين غير صالح لـ PuTTY
  • إعدادات ترخيص غير صحيحة لجدار الحماية (Firewall)
  • عدم تكوين X11forwarding في إعدادات SSH

توضح هذه المقالة الطرق لحل خطأ الترخيص غير المدعوم في PuTTY.

الحل 1: تغيير ملكية ملف Xauthority

يُعد ملف Xauthority المكون الرئيسي لاستخدام PuTTY، حيث يخزن هذا الملف ملفات تعريف الارتباط وبيانات الاعتماد لخادم Xserver لأغراض مصادقة الاتصال. يحدث خطأ بروتوكول الترخيص غير المدعوم عندما يكون ملف Xauthority مفقودًا أو عندما لا يكون المستخدم هو مالك الملف. دعنا نتبع الخطوات التالية لحل هذا الخطأ.

  1. استخدم الأمر الموضح أدناه للعثور على ملف Xauthority والتأكد من ملكيته:
    ls -al .Xauthority

    أمر للعثور على ملف Xauthority

    ملف Xauthority مملوك حاليًا للمستخدم الجذر (root user). دعنا نصل إلى الخادم باستخدام PuTTY لنرى كيف يستجيب لمشكلة الملكية هذه:

    خطأ بروتوكول ترخيص غير مدعوم

    يُظهر الإخراج أعلاه أنه من الضروري أن يكون للمستخدم سيطرة على ملف Xauthority.

  2. انقل ملكية ملف Xauthority إلى المستخدم الذي قام بتسجيل الدخول، وللقيام بذلك نفّذ الأمر التالي:
    ملاحظة: اكتب اسم المستخدم الذي تريد استخدامه بدلاً من “linux-user” الموضح في الأمر:

    sudo chown linux-user .Xauthority

أمر لتغيير ملكية Xauthority

  • بمجرد حدوث خطأ بروتوكول التفويض غير المدعوم، غالبًا ما يكون ملف Xauthority مقفلاً. عندما يكون هذا الملف مقفلاً، فإن امتلاك الملكية الصحيحة لن يحل المشكلة أيضًا. لذلك، يحتاج المستخدم إلى التحقق من الملفات المقفلة وإزالتها. قم بتشغيل الأمر ls -al للتحقق مما إذا كانت الملفات Xauthority-c و Xauthority-l موجودة:
    ls -al

    أمر عرض قائمة ls -al

    إذا كانت هذه الملفات موجودة، فقم بإزالة الملفين Xauthority-c و Xauthority-l باستخدام الأمر التالي:

    rm .Xauthority-c .Xauthority-l


    ملاحظة
    : أعد تشغيل جهازك واتصال PuTTY لتطبيق التغييرات.

  • أعد الاتصال بخادم PuTTY واستدعِ “xclock” لاختبار الخادم:
    PuTTY متصلتم حل خطأ التفويض بنجاح.

الحل 2: استبدال ملف Xauthority التالف

في بعض الحالات، يمكن أن يكون ملف Xauthority تالفًا، وبسبب ذلك، لا يتم تفويض الوصول إلى الخادم. لحل هذه المشكلة، ستحتاج إلى اتباع الخطوات التالية

  1. قم بتشغيل الأمر “ls – al” للتحقق مما إذا كان ملف Xauthority الخاص بنا موجودًا:
    أمر عرض القائمة
  2. لإزالة ملف Xauthority، استخدم الأمر التالي:
    rm .Xauthority

    أمر إزالة ملف Xauthority

  3. بمجرد حذف ملف Xauthority، أعد الاتصال بالخادم باستخدام PuTTY، سيؤدي هذا إلى إنشاء ملف Xauthority الجديد الخاص بك في الدليل، ثم قم بتشغيل الأمر “xclock“:الوصول إلى الخادم باستخدام PuTTYلقد قمت بتسجيل الدخول بنجاح إلى PuTTY وتمكنت من الوصول إلى Xclock.

الحل 3: إعادة تهيئة إعدادات PuTTY غير الصالحة

يعد إعداد PuTTY الخاص بك أمرًا ضروريًا أيضًا، وفي بعض الأحيان يرتكب المستخدمون أخطاء أثناء تهيئة أو إعداد PuTTY الخاص بهم. لحل هذا الخطأ الأساسي، اتبع الخطوات الموضحة أدناه:

  1. افتح PuTTY على جهاز الكمبيوتر الخاص بك، وانقر فوق ملف الإعدادات الافتراضية، ثم قم بتحميله:إعدادات تهيئة PuTTY
  2. الآن، حدد علامة التبويب SSH وانقر على خيار X11. قم بتمكين X11Forwarding واضبط “موقع عرض X” على “localhost0“:تهيئة SSH وX11 في PuTTY
  3. الآن ستحتاج إلى إدخال عنوان IP أو اسم المضيف للخادم الذي ستصل إليه. بعد تعيين اسم المضيف أو عنوان IP، اضبط المنفذ على 22 (أو أي منفذ قمت بتعيينه لـ SSH) ثم احفظالملف الافتراضي“:
    اسم المضيف أو عنوان IP في PuTTY
  4. انقر على زر الفتح وستظهر لك نافذة طرفية PuTTY:تسجيل الدخول إلى PuTTYفي نافذة طرفية PuTTY، سيتعين عليك إدخال اسم المستخدم وكلمة المرور للخادم الذي ستصل إليه. بمجرد إدخال هذين المعاملين، ستتمكن من الوصول إلى الخادم البعيد:تم الوصول إلى PuTTY

    كما ترى، لقد قمت بإعداد PuTTY بنجاح وتمكنت من الوصول إلى الخادم.

الحل 4: السماح بتكوين جدار الحماية للمنفذ 22

لاستخدام X11Forwarding و PuTTY، ستحتاج إلى تكوين جدار الحماية وتمكين المنفذ 22. هنا، يتم استخدام أداة UFW لتكوين جدار الحماية:

  1. نفّذ الأمر التالي في طرفيتك للسماح لخادم SSH بالوصول إلى المنفذ 22 عبر جدار الحماية:
    sudo ufw allow ssh

    السماح لـ SSH في جدار الحماية

  2. قم بتمكين جدار الحماية باستخدام الأمر التالي:
    sudo ufw enable

    تمكين جدار الحماية

  3. تحقق من حالة جدار الحماية باستخدام الأمر التالي:
    sudo ufw status

    التحقق من حالة جدار الحماية

    كما نرى، تم تمكين كل من 22/tcp و 22/tcp (v6) الآن. بمجرد إكمال هذه الخطوات، أعد الاتصال بـ PuTTY X11 وتحقق مما إذا تم حل الخطأ. للاتصال بخادم PuTTY، أدخل اسم المستخدم وكلمة المرور للنظام البعيد للوصول إلى الخادم.

    PuTTY يصل إلى الخادم البعيد

    لقد قمت بحل الخطأ بنجاح وتمكنت من الوصول إلى الخادم البعيد.

الحل 5: تكوين X11Forwarding في إعدادات خادم SSH

خطأ تكوين آخر يتسبب في رفض ترخيص PuTTY X11 هو التكوين غير الصحيح لخادم SSH. لتكوين خادم SSH، ستقوم بتشغيل الأمر التالي في طرفيتك.

sudo nano /etc/ssh/sshd/config
  1. بتشغيل هذا الأمر، ستتمكن من الوصول إلى ملف إعدادات خادم SSH:الوصول إلى خادم SSH
  2. في إعدادات SSH، ابحث عن X11Forwarding، ثم أزل التعليق عنه لتمكينه. اضبط معلمة X11Forwarding على “yes”:تم تمكين X11Forwarding
  3. بعد ذلك، ابحث عن “X11Displayoffset” وقم بتمكين هذا الإعداد أيضًا واضبط العرض على “10”:تم تمكين X11DisplayOffset
  4. بعد تمكين الإعدادات المذكورة أعلاه، قم بتمكين وضبط “X11UseLocalhost” على “no”:ضبط X11UseLocalhost على no
  5. علاوة على ذلك، قم بتمكين وضبط إعداد “PrintMotd” على “no”:ضبط PrintMotd على no
  6. بعد إكمال جميع الخطوات المذكورة أعلاه، احفظ الإعدادات باستخدام CTRL+O ثم اخرج من ملف الإعدادات باستخدام CTRL+X. بعد ذلك، حاول إعادة الاتصال بالخادم باستخدام PuTTY:الوصول عبر PuTTY
  7. لقد سجلت الدخول إلى الخادم بنجاح. حاول الوصول إلى xclock باستخدام الأمر التالي في طرفية PuTTY الخاصة بك:
xclock

الوصول عبر PuTTY

لقد نجحت في حل الخطأ وتمكنت من الوصول إلى الجهاز البعيد.

خطأ PuTTY X11 proxy: unsupported authorization protocol هو عندما لا تتمكن من الوصول إلى الخادم البعيد باستخدام PuTTY. تم ذكر أسباب حدوث هذا الخطأ في هذا المنشور بالإضافة إلى حلولها.

Comments are closed.