اگر با سیستمهای ویندوزی کار کرده باشید حتما میدانید که تمامی نسخههای ویندوز قابلیت اختصاصی به نام Remote Desktop یاRDP دارند که بوسیله این قابلیت میتوانید بهصورت ریموت به صفحه دسکتاپ خود دسترسی داشته باشید. اما در سیستمهای شبهه یونیکس بهدلیل اینکه اغلب تنظیمات بهصورت متنی انجام میشود، معمولا کاربران توسظ SSH میتوانند به سیستم راه دور خود متصل شوند و کار خود را انجام دهند. حتما تا به حال برای شما پیش امده است که بخواهید در محیط شبکه از سیستم ویندوزی خود به صفحه دسکتاپ لینوکس خود بهصورت ریموت دسترسی داشته باشید. اما همانطور که می دانید برخلاف ویندوز در سیستم عامل لینوکس بهصورت پیشفرض از RDP پشتیبانی نمیشود ولی خوشبختانه توسط ابزاری به نام Xrdp این امکان در لینوکس نیز میسر میشود که در این مقاله به نصب و پیکربندی ان خواهیم پرداخت
پروژه Xrdp یک ابزار متنباز است که این امکان را به کاربران میدهد که بتوانند به دسکتاپ لینوکس خود از داخل سیستم عامل ویندوز دسترسی داشته باشند. این ابزار علاوه بر پشتیبانی از RDP Client های ویندوزی از سایرکلاینتهای مشابه همچون FreeRDP, rdesktop, NeutrinoRDP نیز پشتیبانی میکند. همچنین در نسخه جدید این برنامه برای امنیت بیشتر از TLS نیز پشتیبانی میگردد.
برای نصب در سیستمهای مبتنی بر Debian دستور زیر را وارد میکنیم:
apt install xrdp
برای نصب در سیستمهای مبتنی بر Redhat دستورات زیر را وارد میکنیم:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum update && yum -y install xrdp tigervnc-server
سپس فایل زیر را ویرایش میکنیم
nano /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf
و مانند زیر آن را تغییر میدهیم
polkit.addRule(function(action, subject) {
if ((action.id == “org.freedesktop.color-manager.create-device” || action.id == “org.freedesktop.color-manager.create-profile” || action.id == “org.freedesktop.color-manager.delete-device” || action.id == “org.freedesktop.color-manager.delete-profile” || action.id == “org.freedesktop.color-manager.modify-device” || action.id == “org.freedesktop.color-manager.modify-profile”) && subject.isInGroup(“{group}”))
{
return polkit.Result.YES;
}
});
و سپس سرویس xrdp را توسط دستور زیر restart میکنیم
systemctl restart xrdp
برای بررسی وضعیت xrdp میتوانیم دستور زیر را بزنیم
systemctl status xrdp
که در صورتی که سرویس xrdp بدون مشکل و در حال اجرا باشد خروجی زیر را خواهیم دید
● xrdp.service - xrdp daemon
Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: en
Active: active (running) since Tue 2018-10-16 02:05:21 WAT; 11min ago
Docs: man:xrdp(8)
man:xrdp.ini(5)
Main PID: 2654 (xrdp)
Tasks: 1 (limit: 2290)
CGroup: /system.slice/xrdp.service
└─2654 /usr/sbin/xrdp
اگر بخواهیم با هر بار راهاندازی سیستم سرویس xrdp هم بهصورت خودکار اجرا شود، دستور زیر را وارد میکنیم
systemctl enable xrdp
سرویس xrdp روی پورت 3389 کار میکند. پس برای اینکه بتوانیم بهصورت ریموت به سیستم دسترسی داشته باشیم لازم است در فایروال سیستمی که xrdp روی ان نصب است پورت tcp/3389 را ازاد کنیم
در صورتی که از ufw برای مدیریت فایروال استفاده میکنید، میتوانید دستور زیر را جهت ازاد شدن پورت tcp/3389 وارد کنید
ufw allow 3389/tcp
در صورتی که از firewalld برای مدیریت فایروال استفاده میکنید دستور زیر را جهت ازاد شدن پورت tcp/3389 وارد کنید
firewall-cmd --permanent --zone=public --add-port=3389/tcp
firewall-cmd --reload
حال میتوانید از سیستم ویندوز به دسکتاپ لینوکس خود دسترسی داشته باشید. برای این منظور در سیستمعامل ویندوز ابزار Remote Desktop Connection را اجرا میکنیم
ادرس IP سیستم مقابل و Username را مانند شکل زیر وارد میکنیم
و سپس روی connect کلیک مینماییم
پس از برقراری اتصال، کادر زیر نمایش داده خواهد شد که از شما نام کاربری و کلمه عبور را درخواست میکند. آن را وارد نموده و روی OK کلیک میکنیم.
در صورتی که نام کاربری و رمز عبورتان صحیح باشد با صفحه لاگین مواجه خواهید شد که میتوانید رمز عبورتان را وارد کنید و وارد دسکتاپ لینوکستان شوید.