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

ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة

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

ملاحظة

سيؤدي استخدام سطح المكتب البعيد عبر الإنترنت إلى تقديم "تأخير" ملحوظ (زمن انتقال الإدخال) عند مقارنته باستخدام سطح المكتب المحلي. يمكن أن يتأثر هذا بعوامل متعددة بما في ذلك سرعة الإنترنت المحلية والمسافة من مركز البيانات حيث يتم استضافة الجهاز الظاهري. لا يعكس هذا التأخر عادة أداء الجهاز الظاهري نفسه.

هام

بدءا من Red Hat 9 ، لم يعد xrdp مدعوما بعد الآن لأنه يتطلب مستودعات تابعة لجهات خارجية ، ولدى Red Hat خطوات محددة حول كيفية تمكين هذا النوع من الوصول الموضح هنا

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

تم أخذ هذه المقالة والخطوات المقدمة من اختبار Ubuntu 24.04 و SUSE Enterprise Linux 15.

إذا كنت بحاجة إلى إنشاء جهاز ظاهري، فاستخدم إحدى الطرق التالية:

تثبيت بيئة سطح مكتب على جهاز Linux الظاهري

لا تحتوي معظم أجهزة Linux الظاهرية في Azure على بيئة سطح مكتب مثبتة افتراضيا. تتم إدارة أجهزة Linux الظاهرية بشكل شائع باستخدام اتصالات SSH بدلا من بيئة سطح المكتب، ولكن هناك العديد من بيئات سطح المكتب التي يمكنك اختيار تثبيتها. اعتمادا على اختيارك لبيئة سطح المكتب ، فإنه يستهلك ما يصل إلى 2 جيجابايت من مساحة القرص ويستغرق ما يصل إلى عشر دقائق لتثبيت جميع الحزم المطلوبة وتكوينها.

يقوم المثال التالي بتثبيت بيئة سطح المكتب xfce4 خفيفة الوزن على جهاز Ubuntu الظاهري.

أولا، SSH إلى الجهاز الظاهري الخاص بك. يتصل المثال التالي بالجهاز الظاهري المسمى myvm.westus.cloudapp.azure.com باسم مستخدم azureuser. استخدم قيمك الخاصة:

ssh azureuser@myvm.westus.cloudapp.azure.com

إذا كنت تستخدم Windows وتحتاج إلى مزيد من المعلومات حول استخدام SSH، فراجع كيفية استخدام مفاتيح SSH مع Windows.

بالنسبة إلى Ubuntu 24.04

قم بتثبيت جميع الحزم المطلوبة باستخدام apt :

sudo apt update
sudo apt install xfce4 xfce4-session xrdp
sudo systemctl enable xrdp

بالنسبة إلى SUSE Enterprise Linux 15

قم بتثبيت جميع الحزم المطلوبة باستخدام zypper :

sudo zypper in xorg-x11-server xterm xorg-x11-xauth xrdp ssl-cert xhost xclock
sudo systemctl enable xrdp

في Ubuntu 24 ، تحتاج إلى منح حق الوصول إلى الشهادة لمستخدم xrdp:

sudo adduser xrdp ssl-cert

تنطبق الخطوات أدناه على كلا التوزيعين (Ubuntu 24 وSUSE Enterprise Linux 15)

أخبر 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 بالوصول إلى الجهاز الظاهري الخاص بك. لمزيد من المعلومات حول قواعد مجموعة أمان الشبكة، راجع ما هي مجموعة أمان الشبكة؟ يمكنك أيضا استخدام مدخل Microsoft Azure لإنشاء قاعدة مجموعة أمان الشبكة.

  • Azure CLI
  • Azure PowerShell

ينشئ المثال التالي قاعدة مجموعة أمان الشبكة باستخدام az vm open-port على المنفذ 3389. من Azure CLI، وليس جلسة SSH إلى الجهاز الظاهري، افتح قاعدة مجموعة أمان الشبكة التالية:

az vm open-port --resource-group myResourceGroup --name myVM --port 3389

قم بتوصيل جهاز Linux الظاهري الخاص بك مع عميل سطح المكتب البعيد

افتح عميل سطح المكتب البعيد المحلي واتصل بعنوان IP أو اسم DNS لجهاز Linux الظاهري.

لقطة شاشة لعميل سطح المكتب البعيد.

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

لقطة شاشة لشاشة تسجيل الدخول إلى xrdp.

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

بيئة سطح المكتب XFCE من خلال XRDP

إذا كان عميل RDP المحلي يستخدم المصادقة على مستوى الشبكة (NLA)، فقد تحتاج إلى تعطيل إعداد الاتصال هذا. لا يدعم XRDP حاليا NLA. يمكنك أيضا إلقاء نظرة على حلول RDP البديلة التي تدعم NLA، مثل FreeRDP.

Troubleshoot

إذا لم تتمكن من الاتصال بجهاز 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

إذا لم تتلق أي استجابة في عميل سطح المكتب البعيد ولا ترى أي أحداث في سجل النظام، يشير هذا السلوك إلى أن نسبة استخدام الشبكة لسطح المكتب البعيد لا يمكن أن تصل إلى الجهاز الظاهري. راجع قواعد مجموعة أمان الشبكة للتأكد من أن لديك قاعدة للسماح بTCP على المنفذ 3389. لمزيد من المعلومات، راجع أستكشاف مشكلات اتصال التطبيق وإصلاحها.

الخطوات التالية

لمزيد من المعلومات حول إنشاء مفاتيح SSH واستخدامها مع أجهزة Linux الظاهرية، راجع إنشاء مفاتيح SSH لأجهزة Linux الظاهرية في Azure.

للحصول على معلومات حول استخدام SSH من Windows، راجع كيفية استخدام مفاتيح SSH مع Windows.