الرئيسية
» لينوكس
»
كيفية إعداد توجيه X11 على نظام لينكس عبر SSH
كيفية إعداد توجيه X11 على نظام لينكس عبر SSH
تتيح لك خاصية إعادة توجيه X11 تشغيل تطبيق لينكس رسومي على جهاز كمبيوتر بعيد وعرض نافذته على سطح مكتبك المحلي عبر SSH. لإعدادها، فعّل خاصية إعادة التوجيه في خادم SSH البعيد، وتأكد من أن الخادم يدعم X xauth، وتحقق من أن سطح مكتبك المحلي يدعم X، ثم اتصل باستخدام الأمر المناسب ssh -X. تقوم هذه الخاصية بإعادة توجيه نوافذ التطبيقات الفردية، ولا تُنشئ جلسة سطح مكتب بعيد كاملة.
ما تحتاجه قبل إعداده
يُعتبر الحاسوب الذي تُدخل عليه أمر SSH هو العميل . وهو يحتاج إلى برنامج OpenSSH وجلسة سطح مكتب رسومية نشطة مع شاشة عرض X. توفر العديد من أنظمة Linux هذه الميزات مباشرةً أو عبر XWayland عند استخدام Wayland في الجلسة. إذا echo "$DISPLAY"لم يظهر أي شيء على سطح المكتب المحلي، فهذا يعني عدم وجود شاشة عرض متاحة لـ SSH في تلك الجلسة.
الحاسوب البعيد هو الخادم . يحتاج إلى خادم OpenSSH والأداة xauthالمساعدة لكي يتمكن SSH من إنشاء ملف تعريف ارتباط مؤقت للتفويض يُستخدم لعرض البيانات المُعاد توجيهها. على نظامي Debian أو Ubuntu، ثبّتهما على النظام البعيد باستخدام sudo apt updateالأمر `sudo src` sudo apt install openssh-server xauth. أما على توزيعة أخرى، فاستخدم مدير الحزم الخاص بها لتثبيت خادم OpenSSH والحزمة التي توفر الأداة المساعدة xauth. احتفظ بحساب تسجيل دخول SSH عادي يعمل قبل إجراء أي تغييرات على الإعدادات.
تأكد من أن الجهاز الطرفي المحلي يمكنه تشغيل عميل OpenSSH؛ يحتاج الخادم البعيد أيضًا إلى xauth.
إعداد توجيه X11 عبر SSH
1. قم بتمكين إعادة التوجيه في إعدادات الخادم
على جهاز الكمبيوتر البعيد، قم بتحرير ملف تكوين الخادم ، عادةً /etc/ssh/sshd_configباستخدام محرر يتمتع بصلاحيات المسؤول:
sudoedit /etc/ssh/sshd_config
ابحث عن إعداد نشط موجود X11Forwardingوقم بتغييره إلى:
X11Forwarding yes
إذا لم يكن الإعداد موجودًا، فأضفه في القسم العام قبل أي كتلة. تقوم بعض التوزيعات أيضًا بتحميل Matchالملفات من `/ usr / local /etc/ssh/sshd_config.d/...MatchDisableForwarding yesX11UseLocalhost
يجب أن يكون إعداد الخادم موجودًا في ملف sshd_config، وليس في ملف عميل SSH المسمى ssh_config.
2. تحقق من صحة الإعدادات وأعد تحميل SSH
قبل إعادة تحميل البرنامج الخفي، تحقق من الملف بحثًا عن أخطاء في بناء الجملة وتأكد من قيمة إعادة التوجيه الفعالة:
يجب أن يُنهي الأمر الأول عمله دون أخطاء، بينما يجب أن يُبلغ الأمر الثاني عن أي خطأ x11forwarding yes. إذا كنت تستخدم Matchقواعد، فاختبر الإعدادات الفعّالة للمستخدم والاتصال المعنيين كما هو موضح في دليل OpenSSH. أصلح أي خطأ قبل إعادة التحميل حتى لا تُعطّل الوصول إلى SSH.
أعد تحميل اسم الخدمة المستخدم في توزيعتك. تستخدم توزيعتا دبيان وأوبونتو عادةً ما يلي:
sudo systemctl reload ssh
تستخدم أنظمة فيدورا وأنظمة عائلة RHEL بشكل شائع ما يلي:
sudo systemctl reload sshd
إذا لم يكن إعادة التحميل مدعومًا، فاستخدم restartنفس الخدمة. أبقِ الجلسة الحالية مفتوحة واختبر اتصالًا جديدًا قبل إغلاقها. يغطي توثيق خادم OpenSSH الخاص بنظام Ubuntu ملف الخادم ومقتطفات التكوين المستخدمة في Ubuntu.
3. الاتصال من سطح مكتب لينكس المحلي
على جهاز العميل، اطلب إعادة توجيه X11 غير الموثوق به باستخدام -X:
ssh -X user@server.example.com
استبدل اسم المستخدم والمضيف المذكورين في المثال باسمك واسم مضيفك. إذا كان خادم SSH يستمع على منفذ غير قياسي، فأضف رقم المنفذ الخاص به باستخدام الأمر التالي -p:
ssh -X -p 2222 user@server.example.com
بعد تسجيل الدخول، شغّل برنامجًا رسوميًا مُثبّتًا على الجهاز البعيد. لإجراء فحص سريع، شغّل xclockتطبيق الاختبار إن كان متوفرًا، أو شغّل برنامجًا آخر بواجهة رسومية مُثبّتًا. يقوم SSH بتعيين DISPLAYقيمة الجلسة البعيدة وإعادة توجيه اتصال X11 تلقائيًا؛ لا تنسخ قيمة العرض المحلية إلى الخادم أو تُعيّنها يدويًا.
يطلب الخيار -Xإعادة توجيه X11 عند بدء جلسة SSH.يظهر تطبيق واجهة المستخدم الرسومية المُعاد توجيهه كنافذة على سطح المكتب المحلي بينما تظل جلسة SSH مفتوحة.
الأمن واستكشاف الأخطاء وإصلاحها
يُستخدم -Xافتراضيًا. -Yيُفعّل هذا الخيار إعادة التوجيه الموثوقة، مما يُزيل قيود أمان X11 ويمنح التطبيق البعيد وصولًا أوسع إلى شاشتك المحلية. استخدمه فقط مع خادم وتطبيق تثق بهما. يُحذّر OpenSSH من أن إعادة توجيه X11 قد تُعرّض شاشة العميل للهجمات؛ راجع دليل ssh ودليل ssh_config لمعرفة الفرق بين إعادة التوجيه الموثوقة وغير الموثوقة.
"فشل طلب إعادة توجيه X11": تحقق من القيمة الفعالة للخادم X11Forwarding، وتأكد xauthمن تثبيته على المضيف البعيد، وابحث عن Matchحظر أو DisableForwardingإعداد تقييدي.
DISPLAYإذا كانت الجلسة البعيدة فارغة: اقطع الاتصال ثم أعد الاتصال باستخدام الأمر المناسب ssh -X. تأكد من أن واجهة المستخدم الرسومية تعمل في الطرفية المحلية وأن الاتصال يصل إلى الخادم الذي قمت بتكوينه للتو.
تظهر رسالة تفيد بعدم إمكانية فتح الشاشة: تأكد من أن جلسة سطح المكتب المحلية لا تزال نشطة. لا يمكن لواجهة سطر الأوامر التي لا تملك صلاحية الوصول إلى شاشة سطح المكتب عرض النوافذ المُعاد توجيهها.
xclockلم يتم العثور على البرنامج: ببساطة، البرنامج التجريبي غير موجود. جرّب تطبيقًا بواجهة رسومية مثبتًا مسبقًا على الجهاز البعيد؛ هذه الرسالة وحدها لا تثبت وجود خلل في إعادة توجيه SSH.
يُعدّ توجيه X11 مناسبًا للأدوات التي تُستخدم عن بُعد بشكل متقطع، ولكن قد تُصبح التطبيقات الرسومية التي تُعيد رسم نفسها بشكل متكرر بطيئةً عند استخدام اتصال ذي زمن استجابة عالٍ. لذا، يُنصح باستخدام حلول سطح المكتب البعيد المُصممة خصيصًا لهذا الغرض، وذلك لإدارة سطح المكتب بالكامل أو للعمليات التي تتطلب معالجة رسومية مكثفة.