تثبيت وتكوين xrdp لاستخدام سطح المكتب البعيد مع أوبونتو
ينطبق على: ✔️ لينكس VMs ✔️ مجموعات الميزان المرنة
عادة ما تتم إدارة أجهزة Linux الظاهرية (VMs) في Azure من سطر الأوامر باستخدام اتصال shell آمن (SSH). عندما يكون جديدا على Linux ، أو لسيناريوهات استكشاف الأخطاء وإصلاحها السريعة ، قد يكون استخدام سطح المكتب البعيد أسهل. توضح هذه المقالة بالتفصيل كيفية تثبيت بيئة سطح مكتب (xfce) وسطح المكتب البعيد (xrdp) وتكوينها لجهاز Linux الظاهري الذي يعمل بنظام Ubuntu.
تمت كتابة المقالة واختبارها باستخدام Ubuntu 18.04 VM.
المتطلبات الأساسية
تتطلب هذه المقالة جهاز ظاهري Ubuntu 18.04 LTS موجود في Azure. إذا كنت بحاجة إلى إنشاء جهاز ظاهري، استخدم إحدى الطرق التالية:
- واجهة Azure CLI
- المدخل Azure
تثبيت بيئة سطح مكتب على جهاز Linux الظاهري الخاص بك
لا تحتوي معظم الأجهزة الظاهرية لنظام Linux في Azure على بيئة سطح مكتب مثبتة بشكل افتراضي. عادة ما تتم إدارة الأجهزة الظاهرية لنظام Linux باستخدام اتصالات SSH بدلا من بيئة سطح المكتب. هناك العديد من بيئات سطح المكتب في Linux التي يمكنك اختيارها. اعتمادا على اختيارك لبيئة سطح المكتب، قد يستهلك من واحد إلى 2 غيغابايت من مساحة القرص، ويستغرق من 5 إلى 10 دقائق لتثبيت جميع الحزم المطلوبة وتكوينها.
يقوم المثال التالي بتثبيت بيئة سطح المكتب xfce4 خفيفة الوزن على جهاز ظاهري Ubuntu 18.04 LTS. تختلف أوامر التوزيعات الأخرى اختلافا طفيفا (استخدم yum للتثبيت على Red Hat Enterprise Linux وتكوين القواعد المناسبة selinux ، أو استخدمها zypper للتثبيت على SUSE، على سبيل المثال).
أولا ، SSH إلى VM الخاص بك. يتصل المثال التالي بالجهاز الظاهري المسمى 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 VM الخاص بك على النحو التالي:
sudo apt-get -y install xrdp
sudo systemctl enable xrdp
أخبر xrdp ببيئة سطح المكتب التي يجب استخدامها عند بدء جلسة العمل. تكوين xrdp لاستخدام xfce كبيئة سطح المكتب الخاص بك كما يلي:
echo xfce4-session >~/.xsession
أعد تشغيل خدمة xrdp لتصبح التغييرات سارية المفعول كما يلي:
sudo service xrdp restart
تعيين كلمة مرور حساب مستخدم محلي
إذا قمت بإنشاء كلمة مرور لحساب المستخدم الخاص بك عند إنشاء الجهاز الظاهري، فتخطى هذه الخطوة. إذا كنت تستخدم مصادقة مفتاح SSH فقط ولم يكن لديك مجموعة كلمات مرور حساب محلي، فحدد كلمة مرور قبل استخدام xrdp لتسجيل الدخول إلى الجهاز الظاهري. يتعذر على xrdp قبول مفاتيح SSH للمصادقة. يحدد المثال التالي كلمة مرور لحساب المستخدم azureuser:
sudo passwd azureuser
ملاحظة
لا يؤدي تحديد كلمة مرور إلى تحديث تكوين SSHD للسماح بتسجيل الدخول إلى كلمة المرور إذا لم يكن كذلك حاليا. من منظور الأمان ، قد ترغب في الاتصال بالجهاز الظاهري الخاص بك باستخدام نفق SSH باستخدام المصادقة المستندة إلى المفتاح ثم الاتصال ب xrdp. إذا كان الأمر كذلك، فتخطى الخطوة التالية عند إنشاء قاعدة مجموعة أمان الشبكة للسماح بحركة مرور سطح المكتب البعيد.
إنشاء قاعدة مجموعة أمان الشبكة لحركة مرور سطح المكتب البعيد
للسماح لحركة مرور سطح المكتب البعيد بالوصول إلى جهاز Linux الظاهري، يجب إنشاء قاعدة مجموعة أمان الشبكة تسمح ل TCP على المنفذ 3389 بالوصول إلى الجهاز الظاهري. لمزيد من المعلومات حول قواعد مجموعة أمان الشبكة، راجع ما المقصود بمجموعة أمان الشبكة؟ يمكنك أيضا استخدام مدخل Azure لإنشاء قاعدة مجموعة أمان شبكة.
ينشئ المثال التالي قاعدة مجموعة أمان شبكة اتصال باستخدام المنفذ المفتوح az vm على المنفذ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 VM إعادة تشغيل الخدمة كما يلي:
sudo service xrdp restart
راجع سجلات الدخول إلى /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.