گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا
В پچھلا مضمون ہم نے کسی بھی قسم کی ورچوئل مشین پر VNC سرور چلانے پر تبادلہ خیال کیا۔ اس اختیار کے بہت سے نقصانات ہیں، جن میں سے ایک اہم ڈیٹا ٹرانسمیشن چینلز کے تھرو پٹ کے لیے اعلی ضروریات ہیں۔ آج ہم RDP (ریموٹ ڈیسک ٹاپ پروٹوکول) کے ذریعے لینکس پر گرافیکل ڈیسک ٹاپ سے جڑنے کی کوشش کریں گے۔ VNC سسٹم RFB (ریموٹ فریم بفر) پروٹوکول کا استعمال کرتے ہوئے پکسلز کی صفوں کو منتقل کرنے پر مبنی ہے، اور RDP آپ کو زیادہ پیچیدہ گرافکس پرائمیٹو اور اعلی سطحی کمانڈ بھیجنے کی اجازت دیتا ہے۔ یہ عام طور پر ونڈوز پر ریموٹ ڈیسک ٹاپ سروسز کی میزبانی کے لیے استعمال ہوتا ہے، لیکن لینکس کے لیے سرور بھی دستیاب ہیں۔

فہرست کا خانہ:

گرافیکل ماحول کو انسٹال کرنا
سرور اور سافٹ ویئر کی تنصیب کا رسیفیکیشن
آر ڈی پی سرور کو انسٹال اور کنفیگر کرنا
فائر وال سیٹ اپ کرنا
ایک RDP سرور سے منسلک ہو رہا ہے۔
سیشن مینیجر اور صارف کے سیشنز
کی بورڈ لے آؤٹ کو تبدیل کرنا

گرافیکل ماحول کو انسٹال کرنا

ہم Ubuntu Server 18.04 LTS کے ساتھ ایک ورچوئل مشین لیں گے جس میں دو کمپیوٹنگ کور، چار گیگا بائٹس RAM اور بیس گیگا بائٹ ہارڈ ڈرائیو (HDD) ہوگی۔ ایک کمزور کنفیگریشن گرافیکل ڈیسک ٹاپ کے لیے موزوں نہیں ہے، حالانکہ یہ ان کاموں پر منحصر ہے جو حل ہو رہے ہیں۔ اپنے آرڈر پر 10% ڈسکاؤنٹ حاصل کرنے کے لیے پرومو کوڈ Habrahabr10 استعمال کرنا نہ بھولیں۔

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا
ڈیسک ٹاپ ماحول کو تمام انحصار کے ساتھ انسٹال کرنا مندرجہ ذیل کمانڈ کے ساتھ کیا جاتا ہے:

sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

جیسا کہ پچھلے کیس میں تھا، ہم نے XFCE کا انتخاب اس کے نسبتاً کم کمپیوٹنگ وسائل کی ضروریات کی وجہ سے کیا۔

سرور اور سافٹ ویئر کی تنصیب کا رسیفیکیشن

اکثر ورچوئل مشینیں صرف انگریزی لوکلائزیشن کے ساتھ لگائی جاتی ہیں۔ ڈیسک ٹاپ پر آپ کو روسی زبان کی ضرورت ہو سکتی ہے، جس کا سیٹ اپ کرنا آسان ہے۔ سب سے پہلے، آئیے سسٹم پروگرامز کے لیے ترجمے انسٹال کریں:

sudo apt-get install language-pack-ru

آئیے لوکلائزیشن ترتیب دیں:

sudo update-locale LANG=ru_RU.UTF-8

اسی اثر کو دستی طور پر /etc/default/locale میں ترمیم کرکے حاصل کیا جاسکتا ہے۔

GNOME اور KDE کی لوکلائزیشن کے لیے، مخزن میں language-pack-gnome-ru اور language-pack-kde-ru پیکجز ہیں - اگر آپ ان ڈیسک ٹاپ ماحول سے پروگرام استعمال کرتے ہیں تو آپ کو ان کی ضرورت ہوگی۔ XFCE میں، ترجمے ایپلیکیشنز کے ساتھ انسٹال کیے جاتے ہیں۔ اگلا آپ لغات انسٹال کر سکتے ہیں:

# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru

# Тезаурус для LibreOffice
sudo apt-get install mythes-ru

# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict

اس کے علاوہ، کچھ ایپلیکیشن پروگراموں کے لیے ترجمے کی تنصیب کی ضرورت پڑ سکتی ہے:

# Браузер Firefox
sudo apt-get install firefox firefox-locale-ru

# Почтовый клиент Thunderbird
sudo apt-get install thunderbird thunderbird-locale-ru

# Офисный пакет LibreOffice
sudo apt-get install libreoffice libreoffice-l10n-ru libreoffice-help-ru

یہ ڈیسک ٹاپ ماحول کی تیاری کو مکمل کرتا ہے، جو کچھ باقی رہتا ہے وہ RDP سرور کو ترتیب دینا ہے۔

آر ڈی پی سرور کو انسٹال اور کنفیگر کرنا

Ubuntu کے ذخیروں میں آزادانہ طور پر تقسیم شدہ Xrdp سرور ہے، جسے ہم استعمال کریں گے:

sudo apt-get install xrdp

اگر سب کچھ ٹھیک رہا تو، سرور کو خود بخود شروع ہونا چاہئے:

sudo systemctl status xrdp

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا
Xrdp سرور xrdp صارف کے حقوق کے ساتھ چلتا ہے اور بطور ڈیفالٹ /etc/ssl/private/ssl-cert-snakeoil.key سرٹیفکیٹ لیتا ہے، جسے آپ کے اپنے سے تبدیل کیا جا سکتا ہے۔ فائل کو پڑھنے تک رسائی حاصل کرنے کے لیے، آپ کو صارف کو ssl-cert گروپ میں شامل کرنے کی ضرورت ہے:

sudo adduser xrdp ssl-cert

پہلے سے طے شدہ ترتیبات کو /etc/default/xrdp فائل میں پایا جا سکتا ہے، اور دیگر تمام سرور کنفیگریشن فائلیں /etc/xrdp ڈائریکٹری میں موجود ہیں۔ اہم پیرامیٹرز xrdp.ini فائل میں ہیں، جنہیں تبدیل کرنے کی ضرورت نہیں ہے۔ تشکیل اچھی طرح سے دستاویزی ہے، اور متعلقہ مین پیجز شامل ہیں:

man xrdp.ini
man xrdp

جو کچھ باقی ہے وہ ہے /etc/xrdp/startwm.sh اسکرپٹ میں ترمیم کرنا، جو صارف کے سیشن کے شروع ہونے پر عمل میں لایا جاتا ہے۔ پہلے، آئیے تقسیم سے اسکرپٹ کی بیک اپ کاپی بنائیں:

sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh

XFCE ڈیسک ٹاپ ماحول شروع کرنے کے لیے، آپ کو ایک اسکرپٹ کی ضرورت ہوگی کچھ اس طرح:

#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4

براہ کرم نوٹ کریں: اسکرپٹ میں قابل عمل فائلوں کا مکمل راستہ لکھنا بہتر ہے - یہ ایک اچھی عادت ہے۔ آئیے اسکرپٹ کو قابل عمل بناتے ہیں اور اس وقت Xrdp سرور کے سیٹ اپ کو مکمل سمجھا جا سکتا ہے:

sudo chmod 755 /etc/xrdp/startwm.sh

سرور کو دوبارہ شروع کریں:

sudo systemctl restart xrdp

فائر وال سیٹ اپ کرنا

پہلے سے طے شدہ طور پر، Xrdp تمام انٹرفیس پر TCP پورٹ 3389 کو سنتا ہے۔ ورچوئل سرور کنفیگریشن پر منحصر ہے، آپ کو نیٹ فلٹر فائر وال کو کنفیگر کرنے کی ضرورت پڑ سکتی ہے۔ لینکس پر یہ عام طور پر iptables یوٹیلیٹی کا استعمال کرتے ہوئے کیا جاتا ہے، لیکن Ubuntu پر ufw استعمال کرنا بہتر ہے۔ اگر کلائنٹ کا آئی پی ایڈریس معلوم ہے تو، ترتیب درج ذیل کمانڈ کے ساتھ کی جاتی ہے:

sudo ufw allow from IP_Address to any port 3389

آپ کسی بھی آئی پی سے اس طرح کنکشن کی اجازت دے سکتے ہیں:

sudo ufw allow 3389

RDP پروٹوکول انکرپشن کو سپورٹ کرتا ہے، لیکن Xrdp سرور کو پبلک نیٹ ورکس کے سامنے لانا برا خیال ہے۔ اگر کلائنٹ کے پاس ایک مقررہ IP نہیں ہے تو، سرور کو سیکیورٹی بڑھانے کے لیے صرف لوکل ہوسٹ کو سننا چاہیے۔ SSH ٹنل کے ذریعے اس تک رسائی حاصل کرنا بہتر ہے، جو کلائنٹ کمپیوٹر سے ٹریفک کو محفوظ طریقے سے ری ڈائریکٹ کرے گا۔ ہمارے پاس اسی طرح کا نقطہ نظر ہے۔ پچھلے مضمون میں استعمال کیا گیا تھا۔ VNC سرور کے لیے۔

ایک RDP سرور سے منسلک ہو رہا ہے۔

ڈیسک ٹاپ ماحول کے ساتھ کام کرنے کے لیے، ایک علیحدہ غیر مراعات یافتہ صارف بنانا بہتر ہے:

sudo adduser rdpuser

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا
آئیے صارف کو sudo گروپ میں شامل کریں تاکہ وہ انتظامیہ سے متعلقہ کام انجام دے سکے۔ اگر ایسی کوئی ضرورت نہیں ہے تو، آپ اس قدم کو چھوڑ سکتے ہیں:

sudo gpasswd -a rdpuser sudo

آپ کسی بھی RDP کلائنٹ کا استعمال کرتے ہوئے سرور سے جڑ سکتے ہیں، بشمول بلٹ ان Windows Remote Desktop Services کلائنٹ۔ اگر Xrdp بیرونی انٹرفیس کو سن رہا ہے، تو کسی اضافی کارروائی کی ضرورت نہیں ہوگی۔ کنکشن کی ترتیبات میں VPS IP ایڈریس، صارف نام اور پاس ورڈ کی وضاحت کرنا کافی ہے۔ منسلک ہونے کے بعد، ہم کچھ اس طرح دیکھیں گے:

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا
ڈیسک ٹاپ ماحول کے ابتدائی سیٹ اپ کے بعد، ہمیں ایک مکمل ڈیسک ٹاپ ملے گا۔ جیسا کہ آپ دیکھ سکتے ہیں، یہ بہت سے وسائل استعمال نہیں کرتا، حالانکہ سب کچھ استعمال شدہ ایپلی کیشنز پر منحصر ہوگا۔

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا
اگر Xrdp سرور صرف لوکل ہوسٹ کو سنتا ہے، تو کلائنٹ کمپیوٹر پر ٹریفک کو SSH سرنگ میں پیک کرنا پڑے گا (sshd VPS پر چل رہا ہونا چاہیے)۔ ونڈوز پر، آپ گرافیکل SSH کلائنٹ (مثال کے طور پر، PuTTY) استعمال کر سکتے ہیں، اور UNIX سسٹم پر آپ کو ssh یوٹیلیٹی کی ضرورت ہے:

ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip

سرنگ شروع ہونے کے بعد، RDP کلائنٹ اب ریموٹ سرور سے نہیں بلکہ مقامی میزبان سے جڑے گا۔

موبائل آلات کے ساتھ یہ زیادہ مشکل ہے: ایک سرنگ کو بڑھانے کے قابل SSH کلائنٹس کو خریدنا پڑے گا، اور iOS اور iPadOS میں، تھرڈ پارٹی ایپلی کیشنز کا بیک گراؤنڈ آپریشن توانائی کی کھپت کی بہت اچھی اصلاح کی وجہ سے مشکل ہے۔ آئی فون اور آئی پیڈ پر، آپ الگ ایپلی کیشن میں سرنگ نہیں بنا سکیں گے؛ آپ کو ہارویسٹر ایپلی کیشن کی ضرورت ہوگی جو خود SSH کے ذریعے RDP کنکشن قائم کر سکے۔ جیسے، مثال کے طور پر ریموٹ پرو.

سیشن مینیجر اور صارف کے سیشنز

ملٹی یوزر کام کرنے کی صلاحیت براہ راست Xrdp سرور میں لاگو ہوتی ہے اور اس کے لیے اضافی کنفیگریشن کی ضرورت نہیں ہوتی ہے۔ سسٹم ڈی کے ذریعے سروس شروع کرنے کے بعد، ایک عمل ڈیمون موڈ میں چلتا ہے، پورٹ 3389 پر سنتا ہے اور لوکل ہوسٹ کے ذریعے سیشن مینیجر کے ساتھ بات چیت کرتا ہے۔

ps aux |grep xrdp

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا

sudo netstat -ap |grep xrdp

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا
سیشن مینیجر عام طور پر صارفین کو نظر نہیں آتا، کیونکہ کلائنٹ کی سیٹنگز میں بیان کردہ لاگ ان اور پاس ورڈ خود بخود اس میں منتقل ہو جاتے ہیں۔ اگر ایسا نہیں ہوتا ہے یا تصدیق کے دوران کوئی خرابی ہوتی ہے، تو ڈیسک ٹاپ کی بجائے ایک انٹرایکٹو لاگ ان ونڈو نمودار ہوگی۔

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا
سیشن مینیجر کا خودکار آغاز /etc/default/xrdp فائل میں بیان کیا گیا ہے، اور کنفیگریشن /etc/xrdp/sesman.ini میں محفوظ ہے۔ پہلے سے طے شدہ طور پر یہ کچھ اس طرح لگتا ہے:

[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=true
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh

[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
; When AlwaysGroupCheck=false access will be permitted
; if the group TerminalServerUsers is not defined.
AlwaysGroupCheck=false

[Sessions]

آپ کو یہاں کچھ بھی تبدیل کرنے کی ضرورت نہیں ہے، آپ کو صرف روٹ رائٹس (AllowRootLogin=false) کے ساتھ لاگ ان کو غیر فعال کرنا ہوگا۔ سسٹم میں مجاز ہر صارف کے لیے، ایک علیحدہ xrdp عمل شروع کیا جاتا ہے: اگر آپ سیشن کو ختم کیے بغیر منقطع ہو جاتے ہیں، تو صارف کے عمل پہلے سے طے شدہ طور پر چلتے رہیں گے، اور آپ دوبارہ سیشن سے منسلک ہو سکتے ہیں۔ سیٹنگز کو /etc/xrdp/sesman.ini فائل ([سیشن] سیکشن) میں تبدیل کیا جا سکتا ہے۔

کی بورڈ لے آؤٹ کو تبدیل کرنا

عام طور پر دو طرفہ کلپ بورڈ کے ساتھ کوئی مسئلہ نہیں ہوتا ہے، لیکن روسی کی بورڈ لے آؤٹ کے ساتھ آپ کو تھوڑا سا کھیلنا پڑے گا (روسی لوکیل پہلے سے ہی ہونا چاہئے انسٹال ہوا)۔ آئیے Xrdp سرور کی کی بورڈ سیٹنگز میں ترمیم کریں:

sudo nano /etc/xrdp/xrdp_keyboard.ini

آپ کو کنفیگریشن فائل کے آخر میں درج ذیل لائنیں شامل کرنے کی ضرورت ہے۔

[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
model=pc105
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru

[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ru

فائل کو محفوظ کرنا اور Xrdp کو دوبارہ شروع کرنا باقی ہے:

sudo systemctl restart xrdp

جیسا کہ آپ دیکھ سکتے ہیں، لینکس VPS پر RDP سرور قائم کرنا مشکل نہیں ہے، لیکن پچھلا مضمون ہم پہلے ہی VNC سیٹ اپ پر بات کر چکے ہیں۔ ان ٹیکنالوجیز کے علاوہ، ایک اور دلچسپ آپشن ہے: ایک ترمیم شدہ NX 3 پروٹوکول کا استعمال کرتے ہوئے X2Go سسٹم۔ ہم اگلی اشاعت میں اس سے نمٹیں گے۔

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر ایک RDP سرور لانچ کرنا

ماخذ: www.habr.com

نیا تبصرہ شامل کریں