نحوه نصب و پیکربندی VNC در CentOS 8

نحوه نصب و پیکربندی VNC در CentOS 8

زهرا عزتی

(Virtual Network Computing) مخفف(VNC) است.  یک سیستم به اشتراک گذاری دسک تاپ گرافیکی است که به شما امکان می دهد از صفحه کلید و ماوس خود برای کنترل از راه دور یک کامپیوتر دیگر استفاده کنید. این مقاله مراحل نصب و پیکربندی سرور VNC در CentOS 8 را در بر می گیرد. ما همچنین نحوه اتصال ایمن به سرور VNC را از طریق تونل SSH به شما نشان خواهیم داد. با ما در شتابان هاست همراه باشيد..

پیش نیازها

برای دنبال کردن این مقاله ، باید به عنوان کاربر دارای امتیازات sudo در دستگاه از راه دور CentOS خود وارد شوید.

نصب محیط دسک تاپ

به طور کلی ، سرورها محیط دسک تاپ نصب نمی کنند. اگر دستگاهی که می خواهید به آن متصل شوید GUI ندارد ، اولین قدم نصب آن است. در غیر این صورت ، از این مرحله بگذريد.

دستور زیر را برای نصب Gnome ، محیط دسک تاپ پیش فرض در CentOS 8 در دستگاه از راه دور خود اجرا کنید:

sudo dnf groupinstall "Server with GUI"

بسته به سیستم شما ، دانلود و نصب بسته های Gnome و وابستگی ها ممکن است مدتی طول بکشد.

نصب سرور VNC

TigerVNC یک سرور منبع باز VNC  با عملکرد بالا است. برای نصب نوع آن در مخازن پیش فرض CentOS موجود است:

sudo dnf install tigervnc-server

پس از نصب سرور VNC ، دستور vncserver را اجرا کنید تا پیکربندی اولیه را ایجاد کرده و رمز عبور را تنظیم کنید. هنگام اجرای دستور زیر از sudo استفاده نکنید:

vncserver

از شما خواسته می شود که رمز عبور را وارد کنید و تأیید کنید. اگر شما می خواهید یک رمز ورود فقط مشاهده کنید ، کاربر قادر به تعامل با نمونه VNC با ماوس و صفحه کلید نخواهد بود.

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
/usr/bin/xauth:  file /home/linuxize/.Xauthority does not exist

New 'server2.linuxize.com:1 (linuxize)' desktop at :1 on machine server2.linuxize.com

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

اولین باری که دستور vncserver اجرا می شود ، فایل رمز عبور را در فهرست ~ / .vnc ایجاد و ذخیره می کنید که در صورت عدم وجود ایجاد می شود.

توجه داشته باشید که: ۱ بعد از نام هاست در خروجی بالا. این نشانگر تعداد پورت نمایش است که سرور VNC در آن کار می کند. در مورد ما ، سرور پورت TCP 5901 (5900 + 1) در حال کار است. اگر نمونه دوم ایجاد کنید ، آن را در پورت رایگان بعدی یعنی i: 2 اجرا می کنید ، این بدان معنی است که سرور در پورت ۵۹۰۲ (۵۹۰۰ + ۲) در حال اجرا است.

آنچه مهم است به یاد داشته باشید این است که هنگام کار با سرورهای VNC ،: X پورت نمایشگر است که به ۵۹۰۰ + X اشاره دارد

قبل از ادامه مرحله بعدی ، ابتدا با استفاده از دستور vncserver با گزینه -kill و شماره سرور به عنوان آرگومان ، نمونه VNC را متوقف کنید.

vncserver -kill :1
Killing Xvnc process ID 19681

پیکربندی سرور VNC

اکنون که هر دو Gnome و TigerVNC روی دستگاه از راه دور CentOS نصب شده اند ، مرحله بعدی پیکربندی TigerVNC برای استفاده از Gnome است. سرور VNC از پرونده ~ / .vnc / xstartup برای راه اندازی برنامه ها هنگام ایجاد دسکتاپ جدید استفاده می کند. پرونده را باز کنید:

vim ~/.vnc/xstartup

و آن را به شرح زیر ویرایش کنید:

!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

ذخیره کنید و فایل را ببندید . اسکریپت بالا هر زمان که سرور TigerVNC را شروع یا راه اندازی مجدد کنید ، بطور خودکار اجرا می شود.

اگر می خواهید گزینه های دیگری را به سرور VNC منتقل کنید ،فايل ~ / .vnc / پیکربندی را باز کنید و در هر خط یک گزینه اضافه کنید. رایج ترین گزینه ها در فايل ذکر شده است. بدون دلخواه تغییر دهید و به دلخواه خود تغییر دهید.

به عنوان مثال:

# securitytypes=vncauth,tlsvnc
# desktop=sandbox
geometry=1920x1080
# localhost
# alwaysshared

ایجاد پرونده واحد Systemd

فایل های واحد به شما امکان می دهد تا خدمات را به راحتی شروع ، متوقف و مجدداً راه اندازی کنید. به طور کلی ، بهترین مکان برای ذخیره فایل های واحد کاربر ~ / .config / systemd / user است. ایجاد فهرست:

mkdir -p ~/.config/systemd/user

پرونده واحد پیش فرض vncserver را کپی کنید:

cp /usr/lib/systemd/user/vncserver@.service ~/.config/systemd/user/

به سیستم اطلاع دهید که یک فایل واحد کاربر جدید وجود دارد:

systemctl --user daemon-reload

سرویس VNC را شروع کنید و آن را در بوت فعال کنید:

systemctl --user enable vncserver@:1.service --now

شماره ۱ پس از @: پورت نمایش را که سرویس VNC در آن گوش خواهد داد ، تعریف می کند. ما از ۱ استفاده می کنیم ، به این معنی که سرور VNC همانطور که در قسمت قبلی گفتیم ، به پورت ۵۹۰۱ گوش می دهد.

فعال ماندن را به گونه ای انجام دهید که سرویس کاربر در هنگام بوت شدن شروع به کار کند و وقتی کاربر وارد سیستم نشده است ، کار خود را ادامه دهد:

loginctl enable-linger

تأیید کنید که این سرویس با موفقیت شروع شده است:

systemctl --user status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/home/linuxize/.config/systemd/user/vncserver@.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-01-30 22:14:08 UTC; 2s ago
  Process: 20813 ExecStart=/usr/bin/vncserver :1 (code=exited, status=0/SUCCESS)
  Process: 20807 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
   CGroup: /user.slice/user-1000.slice/user@1000.service/vncserver.slice/vncserver@:1.service
  ...

اتصال به سرور VNC

VNC یک پروتکل رمزگذاری نشده است و می تواند در معرض خراب کردن بسته باشد. روش پیشنهادی ایجاد تونل SSH است تا بتوانید ترافیک ایمن را از دستگاه محلی خود در پورت ۵۹۰۱ به سرور راه دور در همان پورت منتقل کنید.

 SSH Tunneling را در Linux و macOS تنظیم کنید

اگر لینوکس ، macOS یا هر سیستم عامل دیگر مبتنی بر یونیکس را روی دستگاه خود اجرا کنید ، می توانید به راحتی با استفاده از دستور ssh زیر یک تونل ایجاد کنید.

ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip

از شما خواسته می شود رمز عبور کاربر را وارد کنید.

فراموش نکنید که نام کاربری و server_ip_address را با نام کاربری و آدرس IP سرور خود جایگزین کنید.

تنظیم SSH Tunneling را روی ویندوز تنظیم کنید

کاربران ویندوز می توانند با استفاده از PuTTY Tunneling SSH تنظیم کنند.

Putty را باز کرده و آدرس IP سرور خود را در قسمت نام هاست یا آدرس IP وارد کنید.

نحوه نصب و پیکربندی VNC در CentOS 8

در زیر منوی اتصال ، SSH را گسترش داده و تونل ها را انتخاب کنید. در قسمت Source Port ، پورت سرور VNC (5901) را وارد کنید ، server_ip_address: 5901 را در قسمت مقصد وارد کنید و مطابق تصویر زیر بر روی دکمه Add کلیک کنید:

نحوه نصب و پیکربندی VNC در CentOS 8

 

به صفحه Session برگردید تا تنظیمات را ذخیره کنید تا دیگر نیازی به ورود به آنها نداشته باشید. برای ورود به سرور از راه دور ، جلسه ذخیره شده را انتخاب کرده و بر روی دکمه Open کلیک کنید.

اتصال با استفاده از Vncviewer

برای اتصال به سرور از راه دور ، بیننده VNC خود را باز کرده و localhost را وارد کنید: ۵۹۰۱٫

 

برای Google Chrome می توانید از هر بیننده VNC مانند TigerVNC ، TightVNC ، RealVNC ، UltraVNC ، Vinagre و VNC Viewer استفاده کنید.

ما از TigerVNC استفاده می کنیم:

نحوه نصب و پیکربندی VNC در CentOS 8

در صورت درخواست رمز ورود را وارد کنید و باید دسک تاپ Gnome پیش فرض را ببینید. باید چیزی شبیه به این باشد:

نحوه نصب و پیکربندی VNC در CentOS 8

اکنون می توانید با استفاده از صفحه کلید و ماوس خود بر روی دسک تاپ از راه دور از دستگاه محلی خود شروع به کار کنید.

ما را در شتابان هاست دنبال كنيد.