تثبيت وتكوين xrdp لاستخدام سطح المكتب البعيد مع Ubuntu
ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة
عند استخدام Linux الجديد، أو لسيناريوهات استكشاف الأخطاء وإصلاحها السريعة، قد يكون استخدام سطح المكتب البعيد أسهل من الوصول إلى Secure Shell (SSH). توضح هذه المقالة بالتفصيل كيفية تثبيت بيئة سطح مكتب (xfce) وسطح المكتب البعيد (xrdp) وتكوينها لجهاز Linux الظاهري الذي يعمل بنظام Ubuntu.
تمت كتابة المقالة واختبارها باستخدام جهاز ظاهري إصدار Ubuntu 18.04.
إشعار
سيؤدي استخدام سطح المكتب البعيد عبر الإنترنت إلى حدوث "تأخر" ملحوظ (زمن انتقال الإدخال) عند مقارنتها باستخدام سطح المكتب المحلي. يمكن أن يتأثر هذا بعوامل متعددة بما في ذلك سرعة الإنترنت المحلية والمسافة من مركز البيانات حيث تتم استضافة الجهاز الظاهري. لا يعكس هذا التأخير عادة أداء الجهاز الظاهري نفسه.
المتطلبات الأساسية
تتطلب هذه المقالة وجود Ubuntu 18.04 LTS أو Ubuntu 20.04 LTS VM في Azure. إذا كنت بحاجة إلى إنشاء جهاز ظاهري، استخدم إحدى الطرق التالية:
تثبيت بيئة سطح مكتب على جهاز Linux الظاهري خاصتك
لا تحتوي معظم أجهزة Linux الظاهرية في Azure على بيئة سطح مكتب مثبتة بشكل افتراضي. تتم إدارة أجهزة Linux الظاهرية عادة باستخدام اتصالات SSH بدلا من بيئة سطح المكتب، ولكن هناك العديد من بيئات سطح المكتب التي يمكنك اختيار تثبيتها. اعتمادا على اختيارك لبيئة سطح المكتب، تستهلك ما يصل إلى 2 غيغابايت من مساحة القرص وتستغرق ما يصل إلى عشر دقائق لتثبيت جميع الحزم المطلوبة وتكوينها.
يقوم المثال التالي بتثبيت بيئة سطح المكتب xfce4 الخفيفة على جهاز Ubuntu الظاهري. تختلف أوامر التوزيعات الأخرى اختلافاً طفيفاً (استخدم yum
للتثبيت على Red Hat Enterprise Linux وتكوين قواعد selinux
مناسبة، أو استخدمها zypper
للتثبيت على SUSE، على سبيل المثال).
أولاً، SSH إلى جهازك الظاهري. يتصل المثال التالي بالجهاز الظاهري المُسمى myvm.westus.cloudapp.azure.com باسم مستخدم azureuser. استخدم قيمك الخاصة:
ssh azureuser@myvm.westus.cloudapp.azure.com
إذا كنت تستخدم Windows وتحتاج إلى مزيد من المعلومات حول استخدام SSH، فشاهد كيفية استخدام مفاتيح SSH مع Windows.
بعد ذلك، قم بتثبيت xfce باستخدام apt
:
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install xfce4
sudo apt install xfce4-session
تثبيت خادم سطح مكتب بعيد وتكوينه
الآن بعد أن تم تثبيت بيئة سطح المكتب لديك، قم بتكوين خدمة سطح مكتب بعيد للاستماع إلى اتصالات الوصول عن بعد الواردة. xrdp هو خادم بروتوكول سطح المكتب البعيد (RDP) مصدر مفتوح متوفر على معظم توزيعات Linux ويعمل بشكل جيد مع xfce. بادر بتثبيت xrdp على جهازك الظاهري Ubuntu خاصتك على النحو التالي:
sudo apt-get -y install xrdp
sudo systemctl enable xrdp
في Ubuntu 20، تحتاج إلى منح الشهادة حق الوصول إلى مستخدم xrdp:
sudo adduser xrdp ssl-cert
أخبر xrdp ببيئة سطح المكتب التي يجب استخدامها عند بدء جلسة العمل خاصتك. تكوين xrdp لاستخدام xfce كبيئة سطح المكتب خاصتك كما يلي:
echo xfce4-session >~/.xsession
أعِد تشغيل خدمة xrdp لتصبح التغييرات سارية المفعول كما يلي:
sudo systemctl restart xrdp
تعيين كلمة مرور حساب مستخدم محلي
إذا أنشأت كلمة مرور لحساب المستخدم خاصتك عند إنشاء الجهاز الظاهري، فتجاوز هذه الخطوة. إذا كنت تستخدم مصادقة مفتاح SSH فقط ولم يكن لديك مجموعة كلمة مرور حساب محلي، فحدد كلمة مرور قبل استخدام xrdp لتسجيل الدخول إلى الجهاز الظاهري الخاص بك. لا يمكن ل xrdp قبول مفاتيح SSH للمصادقة. يحدد المثال التالي كلمة مرور لحساب المستخدم azureuser:
sudo passwd azureuser
إشعار
لا يؤدي تحديد كلمة مرور إلى تحديث تكوين SSHD خاصتك للسماح بتسجيل الدخول باستخدام كلمة المرور إذا لم يكن الأمر كذلك حالياً. من منظور الأمان، قد ترغب في الاتصال بجهازك الظاهري باستخدام نفق SSH باستخدام المصادقة المستندة إلى المفتاح ثم الاتصال بـ xrdp. إذا كان الأمر كذلك، فتجاوز الخطوة التالية عند إنشاء قاعدة مجموعة أمان الشبكة للسماح بحركة مرور سطح المكتب البعيد.
إنشاء قاعدة مجموعة أمان الشبكة لحركة مرور سطح المكتب البعيد
للسماح لحركة مرور سطح المكتب البعيد بالوصول إلى جهاز Linux الظاهري، يجب إنشاء قاعدة مجموعة أمان الشبكة التي تسمح لبروتوكول TCP على المنفذ 3389 بالوصول إلى جهازك الظاهري. لمزيد من المعلومات عن قواعد مجموعة أمان الشبكة، راجع ما المقصود بمجموعة أمان الشبكة؟ يمكنك أيضاً استخدام مدخل Azure لإنشاء قاعدة مجموعة أمان الشبكة.
ينشئ المثال التالي قاعدة مجموعة أمان الشبكة باستخدام az vm open-portعلى المنفذ 3389. من Azure CLI، وليس جلسة عمل SSH إلى جهازك الظاهري، افتح قاعدة مجموعة أمان الشبكة التالية:
az vm open-port --resource-group myResourceGroup --name myVM --port 3389
توصيل جهازك الظاهري الذي يعمل بنظام Linux خاصتك بكمبيوتر عميل سطح المكتب البعيد
افتح كمبيوتر عميل سطح المكتب البعيد المحلي واتصل بعنوان IP أو اسم DNS الخاص بجهازك الظاهري الذي يعمل بنظام Linux.
أدخِل اسم المستخدم وكلمة المرور لحساب المستخدم على جهازك الظاهري على النحو التالي:
بعد المصادقة، سيتم تحميل بيئة سطح المكتب xfce وتبدو مشابهة للمثال التالي:
إذا كان عميل RDP المحلي خاصتك يستخدم مصادقة مستوى الشبكة (NLA)، فقد تحتاج إلى تعطيل إعداد الاتصال هذا. XRDP لا يدعم حالياً مصادقة NLA. يمكنك أيضاً الاطلاع على حلول RDP البديلة التي تدعم NLA، مثل FreeRDP.
استكشاف الأخطاء وإصلاحها
إذا لم تتمكن من الاتصال بجهاز Linux الظاهري الخاص بك باستخدام عميل سطح المكتب البعيد، فاستخدم netstat
على جهاز Linux الظاهري للتحقق من أن الجهاز الظاهري الخاص بك يستمع لاتصالات RDP كما يلي:
sudo netstat -plnt | grep rdp
يوضح المثال التالي استماع الجهاز الظاهري على منفذ TCP 3389 كما هو متوقع:
tcp 0 0 127.0.0.1:3350 0.0.0.0:* LISTEN 53192/xrdp-sesman
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN 53188/xrdp
إذا كانت خدمة xrdp-sesman لا تستمع، على جهاز Ubuntu الظاهري، أعد تشغيل الخدمة كما يلي:
sudo systemctl restart xrdp
راجع سجلات الدخول /var/log على جهازك الظاهري Ubuntu للحصول على مؤشرات حول سبب عدم استجابة الخدمة. يمكنك أيضاً مراقبة syslog أثناء محاولة اتصال سطح المكتب البعيد لعرض أية أخطاء:
tail -f /var/log/syslog
قد يكون لتوزيعات Linux الأخرى مثل Red Hat Enterprise Linux وSUSE طرق مختلفة لإعادة تشغيل الخدمات ومواقع ملفات السجل البديلة لمراجعتها.
إذا لم تتلق أي استجابة في عميل سطح المكتب البعيد ولم تشاهد أي أحداث في سجل النظام، يشير هذا السلوك إلى أن نسبة استخدام الشبكة لسطح المكتب البعيد لا يمكن أن تصل إلى الجهاز الظاهري. راجع قواعد مجموعة أمان الشبكة لديك للتأكد من أن لديك قاعدة للسماح ببروتوكول TCP على المنفذ 3389. لمزيد من المعلومات، راجع استكشاف مشكلات اتصال التطبيق وإصلاحها.
الخطوات التالية
لمزيد من المعلومات عن إنشاء مفاتيح SSH واستخدامها مع الأجهزة الظاهرية التي تعمل بنظام التشغيل Linux، راجع إنشاء مفاتيح SSH للأجهزة الظاهرية التي تعمل بنظام Linux في Azure.
للحصول على معلومات حول استخدام SSH من Windows، راجع كيفية استخدام مفاتيح SSH مع Windows.