−25%

Windows-এর বার্ষিক পেমেন্টে, ৩১ অক্টোবর পর্যন্ত। প্ল্যান দেখুন

EQVPS
শুরু করুন

Linux VPS-এ ডেস্কটপ বসানো আর রিমোট ডেস্কটপ দিয়ে সংযোগ করা (XFCE + xrdp)

Ubuntu 24.04 VPS-এ গ্রাফিক্যাল ডেস্কটপ, যা সাধারণ রিমোট ডেস্কটপ অ্যাপ দিয়েই খোলে: XFCE ও xrdp, যে দুটি ডিফল্ট সেটিং সব বিগড়ে দেয় (ভুল সেশন, TLS নেই), আর এমন সাজানো যেখানে পোর্ট 3389 কখনো ইন্টারনেটের দিকে খোলা থাকে না। ডিস্কের জায়গা আর প্রতি সেশনের RAM মেপে দেখানো।

Linux সার্ভারের কোনো স্ক্রিন নেই, আর বেশিরভাগ সময় দরকারও হয় না। মাঝে মাঝে হয়: এমন ব্রাউজার যেটা সার্ভারের নিজের ঠিকানা থেকে চলতে হবে, শুধু গ্রাফিক্যাল ইন্টারফেস থাকা কোনো টুল, অথবা এমন ডেস্কটপ যা চালু রেখে যেকোনো কম্পিউটার থেকে আবার ফিরে আসা যায়। এই গাইড Ubuntu 24.04-এ হালকা ডেস্কটপ XFCE আর xrdp যোগ করে, যাতে Windows সার্ভারের জন্য যে রিমোট ডেস্কটপ অ্যাপ ব্যবহার করেন, সেটা দিয়েই এটা খুলতে পারেন।

আমাদের Ubuntu 24.04 ইমেজে প্রতিটি ধাপ পরীক্ষা করেছি। দুটো ডিফল্ট সেটিং প্রথম চেষ্টা নষ্ট করেছিল, নিচে দুটোই ঠিক করছি। sudo থাকা একজন সাধারণ ইউজার লাগবে; Ubuntu সেট আপ গাইড একজন বানিয়ে দেয়। উদাহরণে তার নাম deploy।

1. XFCE আর xrdp বসান

sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp

আমাদের 2 GB সার্ভারে এতে প্রায় সাড়ে চার মিনিট লেগেছে আর 1.7 GB ডিস্ক খরচ হয়েছে (আগে 2.7 GB ব্যবহৃত ছিল, পরে 4.4 GB)। xrdp 0.9.24 বসে, সঙ্গে সঙ্গে চালু হয় আর পোর্ট 3389-এ শোনে।

2. xrdp যেন GNOME নয়, XFCE চালায়

যে ইউজার ডেস্কটপ ব্যবহার করবে, তার হয়ে লগ ইন করে চালান:

echo xfce4-session > ~/.xsession

এই ফাইল ছাড়া আমাদের প্রথম লগইন XFCE-এর বদলে GNOME চালিয়েছিল, আর সেশন সঙ্গে সঙ্গে "Oh no! Something has gone wrong" দেখিয়ে বন্ধ হয়ে গিয়েছিল। ধাপ 1-এর প্যাকেজগুলো GNOME-এর সেশন ম্যানেজারও সঙ্গে আনে, আর Ubuntu সেটাকে ডিফল্ট করে দেয়। ~/.xsession থাকলে xrdp XFCE চালায়।

3. xrdp-কে TLS ব্যবহার করতে দিন

xrdp নিজের আলাদা ইউজার xrdp হিসেবে চলে, আর এই ইউজার সার্ভারের প্রাইভেট কী পড়তে পারে না। আমাদের প্রথম সংযোগ কাজ করেছিল, কিন্তু /var/log/xrdp.log দেখিয়েছিল কেন তাতে ভরসা করা উচিত নয়:

Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1

কী ছাড়া xrdp, TLS-এর বদলে পুরোনো RDP এনক্রিপশনে ফিরে যায়। পড়ার অনুমতি দিন আর রিস্টার্ট করুন:

sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp

পরের সংযোগ আমাদের লগে এভাবে এসেছিল: TLS connection established ... TLSv1.3। আপনার সার্ভারও একইভাবে যাচাই করতে পারেন:

sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2

4. পোর্ট 3389 ইন্টারনেট থেকে দূরে রাখুন

ইনস্টলের পরে xrdp সব ঠিকানায় শোনে। Windows-এর মতো নয়, xrdp-এ Network Level Authentication নেই, তাই যে-ই পোর্টে পৌঁছায় সে পাসওয়ার্ড আন্দাজ করার জন্য একটা লগইন স্ক্রিন পায়। শুধু সার্ভারেই শুনতে দিন:

sudo sed -i 's|^port=3389$|port=tcp://127.0.0.1:3389|' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
ss -ltn | grep 3389

শেষ লাইনে 127.0.0.1:3389 দেখা উচিত। আমাদের পরীক্ষায় এরপর সার্ভারের ঠিকানায় 3389-এ সরাসরি সংযোগ প্রত্যাখ্যাত হয়েছিল, আর পরের ধাপের টানেল চলছিল।

5. SSH দিয়ে যুক্ত হোন

নিজের কম্পিউটারে একটা টানেল খুলুন। Windows-এ PowerShell-এ একই ssh কমান্ড আছে:

ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP

NAT প্ল্যানে -p আর ড্যাশবোর্ডের নিজস্ব SSH পোর্ট যোগ করুন। উইন্ডোটা খোলা রাখুন। তারপর রিমোট ডেস্কটপ অ্যাপকে localhost:13389-এ দিন আর deploy হিসেবে সেই ইউজারের পাসওয়ার্ড দিয়ে লগ ইন করুন:

  • Windows: রিমোট ডেস্কটপ কানেকশন (mstsc)।
  • macOS: App Store-এর Windows App।
  • Linux: Remmina, অথবা xfreerdp /v:localhost:13389 /u:deploy।

লোকাল পোর্ট 3389 নয়, 13389, কারণ আপনার কম্পিউটারে 3389 আগে থেকেই তার নিজের রিমোট ডেস্কটপের দখলে থাকতে পারে। প্রথমবার অ্যাপ একটা অচেনা সার্টিফিকেটের বিষয়ে সতর্ক করে। এটা সার্ভারের সেলফ-সাইনড সার্টিফিকেট, আর সংযোগ এমনিতেই SSH-এর ভেতরে এনক্রিপ্টেড।

6. আপনি কী পান

প্যানেল, ফাইল ম্যানেজার আর টার্মিনালসহ একটা XFCE ডেস্কটপ। আমাদের সার্ভারে একটা সেশন প্রায় 360 MB RAM বাড়িয়েছে: যুক্ত হওয়ার আগে 388 MB, সেশনের সময় 747 MB।

রিমোট ডেস্কটপের উইন্ডো বন্ধ করলে লগ আউট হয় না। আমাদের পরীক্ষায় সংযোগ কেটে দেওয়ার পরও একটা লম্বা কমান্ড চলছিল। আবার যুক্ত হলে xrdp আমাদের একই সেশনে ফিরিয়ে দিয়েছিল (তার লগে reconnected session ... display :10)। সেশন সত্যিই শেষ করতে XFCE মেনুতে Log Out ব্যবহার করুন।

কোন প্ল্যান

ডেস্কটপের CPU-র চেয়ে RAM বেশি দরকার। Micro (2 vCPU, 2 GB, 25 GB, $5/মাস) XFCE আর হালকা টুল আরামে চালায়। সেশনে ওয়েব ব্রাউজার খোলা রাখতে চাইলে Small নিন, 4 vCPU ও 4 GB, $8/মাস। দুটোই NAT প্ল্যান, আর এখানে তাতে কোনো সমস্যা নেই: রিমোট ডেস্কটপ আপনার SSH পোর্ট দিয়ে যায়।

আপনার আসলে Windows সফটওয়্যার দরকার হলে Windows VPS সেটা সরাসরি চালায়, আর Windows-Small শুরু $11/মাস থেকে। Ubuntu 24.04 আছে Ubuntu VPS পাতায়, আর VPS-এর প্রতিটি Linux প্ল্যানে পাওয়া যায়। পেমেন্ট হয় Base, Ethereum বা Polygon নেটওয়ার্কে USDT, USDC বা ETH-এ।

FAQ

Windows-এর সাধারণ রিমোট ডেস্কটপ অ্যাপ দিয়ে কি যুক্ত হতে পারব?

হ্যাঁ। xrdp RDP প্রোটোকলে কথা বলে, তাই Windows-এর বিল্ট-ইন রিমোট ডেস্কটপ কানেকশন, macOS-এ Windows App আর Linux-এ Remmina বা xfreerdp সবই চলে। আপনি সার্ভারের ঠিকানায় নয়, SSH টানেলের মাধ্যমে localhost-এ যুক্ত হন।

NAT প্ল্যানে কি এটা কাজ করে?

হ্যাঁ। RDP সংযোগ SSH-এর ভেতর দিয়ে যায়, আর SSH-ই সেই একমাত্র পোর্ট যা NAT প্ল্যান আপনার সার্ভারে ফরোয়ার্ড করে। এই গাইড সব প্ল্যানেই এই পদ্ধতির পরামর্শ দেয়, কারণ পোর্ট 3389 ইন্টারনেটের জন্য বন্ধ থাকে।

ডেস্কটপ কতটা RAM নেয়?

আমাদের টেস্ট সার্ভারে XFCE-এর একটা সেশন প্রায় 360 MB যোগ করেছে: ব্যবহৃত মেমরি 388 MB থেকে 747 MB হয়েছে। 2 GB-এর Micro প্ল্যান ডেস্কটপ আর হালকা টুলের জন্য যথেষ্ট। সেশনে ওয়েব ব্রাউজার চালাতে চাইলে 4 GB বেশি আরামদায়ক।

কালো স্ক্রিন বা "Oh no! Something has gone wrong" দেখছি। সমস্যা কী?

xrdp, XFCE-এর বদলে GNOME চালিয়েছে। ধাপ 1-এর প্যাকেজগুলো GNOME-এর সেশন ম্যানেজারও সঙ্গে আনে, আর Ubuntu সেটাকে সিস্টেমের ডিফল্ট বানায়। যে ইউজার লগ ইন করবে তার জন্য ~/.xsession ফাইল বানান, ভেতরে লিখুন xfce4-session, তারপর আবার যুক্ত হোন।

RDP দিয়ে কি root হিসেবে লগ ইন করা যায়?

ডিফল্টে xrdp এটা অনুমতি দেয় (/etc/xrdp/sesman.ini-তে AllowRootLogin=true), তবে sudo থাকা সাধারণ ইউজার ব্যবহার করাই ভালো। root আটকাতে AllowRootLogin=false দিন আর xrdp রিস্টার্ট করুন।

মন্তব্য

এখনো কোনো মন্তব্য নেই। প্রথম হোন।

একটি মন্তব্য দিন

মন্তব্য প্রকাশের আগে মডারেট করা হয়।