تثبيت وتكوين xrdp لاستخدام سطح المكتب البعيد مع أوبونتو

ينطبق على: ✔️ لينكس VMs ✔️ مجموعات الميزان المرنة

عادة ما تتم إدارة أجهزة Linux الظاهرية (VMs) في Azure من سطر الأوامر باستخدام اتصال shell آمن (SSH). عندما يكون جديدا على Linux ، أو لسيناريوهات استكشاف الأخطاء وإصلاحها السريعة ، قد يكون استخدام سطح المكتب البعيد أسهل. توضح هذه المقالة بالتفصيل كيفية تثبيت بيئة سطح مكتب (xfce) وسطح المكتب البعيد (xrdp) وتكوينها لجهاز Linux الظاهري الذي يعمل بنظام Ubuntu.

تمت كتابة المقالة واختبارها باستخدام Ubuntu 18.04 VM.

المتطلبات الأساسية

تتطلب هذه المقالة جهاز ظاهري Ubuntu 18.04 LTS موجود في 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 الظاهري.

Screenshot of the remote desktop client.

أدخل اسم المستخدم وكلمة المرور لحساب المستخدم على الجهاز الظاهري الخاص بك على النحو التالي:

Screenshot of the xrdp log in screen.

بعد المصادقة، سيتم تحميل بيئة سطح المكتب xfce وتبدو مشابهة للمثال التالي:

xfce desktop environment through xrdp

إذا كان عميل 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.