0 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 5 (0 votes, average: 0٫00 out of 5)
You need to be a registered member to rate this.

آموزش نصب VNC در CentOS 8

Virtual Network Computing (VNC) یک سیستم به اشتراک گذاری دسکتاپ گرافیکی است که به شما امکان می دهد از صفحه کلید و ماوس خود برای کنترل از راه دور یک کامپیوتر دیگر استفاده کنید. این مقاله مراحل نصب و پیکربندی سرور VNC در CentOS 8 را آموزش میدهد. همچنین نحوه اتصال ایمن و کانفیگ سرور VNC را از طریق تونل SSH به شما نشان خواهیم داد. به طور کلی ، در نسخه سرور سیستم عامل محیط دسکتاپ نصب نشده اند. اگر سیستمی که می خواهید به آن متصل شوید GUI ندارد ، اولین قدم نصب آن است. در غیر این صورت ، این مرحله رو نیاز نیست انجام بدین. دستور زیر را برای نصب Gnome ، محیط دسکتاپ پیش فرض در CentOS 8 اجرا کنید

sudo dnf groupinstall "Server with GUI"

 

نصب VNC Server در Centos 8

 

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

sudo dnf install tigervnc-server

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

vncserver

از شما خواسته می شود رمز عبور را وارد کنید و تأیید کنید و اینکه آیا آن را به عنوان رمز view-only تنظیم کنید یا خیر. اگر شما می خواهید یک رمز ورود فقط view-only تنظیم کنین، کاربر قادر به تعامل با نمونه 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 ایجاد و ذخیره می کنید که در صورت عدم وجود ایجاد می شود. توجه داشته باشید که :1 بعد از نام hostname در خروجی بالا. این نشانگر شماره پورت است که VNC server در آن کار می کند. در مورد تنظیمات فعلی این آموزش، پورت سرور روی TCP 5901 (5900 + 1) در حال کار است. اگر یک مورد دوم ایجاد کنید ، در پورت آزاد بعدی یعنی :2  اجرا می شود ، این بدان معنی است که سرور در پورت 5902 (5900 + 2) در حال اجرا است. توجه داشته باشید که هنگام کار با VNC servers  مقدار :X  شماره پورت است که به 5900 + X اشاره دارد.

قبل از ادامه مرحله بعدی ، ابتدا با استفاده از دستور vncserver با گزینه -kill و شماره پورت آرگومان ، میتونین VNC را متوقف کنید. در مورد ما ، سرور در پورت 5901 (:1) در حال اجرا است ، بنابراین برای متوقف کردن آن دستور زیر را  اجرا کنید

vncserver -kill :1

خروجی به شکل زیر است

Killing Xvnc process ID 19681

 

تنظیم VNC Server در Centos 8

 

حالا که هر دو Gnome و TigerVNC روی سیستم عامل که برای اتصال از راه دور CentOS نصب شده اند ، مرحله بعدی پیکربندی TigerVNC برای استفاده از Gnome است. VNC server از پوشه ~/.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 server را شروع یا راه اندازی مجدد کنید ، بطور خودکار اجرا می شود. اگر می خواهید تنظیمات دیگری به VNC server منتقل کنید ، فایل ~/.vnc/config پیکربندی را باز کنید و در هر خط یک گزینه اضافه کنید. رایج ترین تنظیمات در فایل مروبطه نوشته شده است. با Uncomment کردن و برداشتن # میتونین تنظیمات رو فعال کنین، به عنوان مثال:

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

 

ایجاد فایل برای Systemd

 

فایل های واحد Unit به شما امکان می دهد سرویس های start, stop, and restart به راحتی اجرا کنید. به طور کلی ، بهترین مکان برای ذخیره فایل های Unit کاربر ~/.config/systemd/user است.

mkdir -p ~/.config/systemd/user

فایل Unit پیش فرض vncserver را کپی کنید

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

به systemd اطلاع دهید که یک فایل user unit جدید وجود دارد

systemctl --user daemon-reload

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

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

شماره 1 پس از @: پورتی را که سرویس VNC به آن گوش خواهد داد تعریف می کند. ما از 1 استفاده می کنیم ، به این دلیل که سرور VNC همانطور که در بخش قبلی گفتیم ، به پورت 5901 گوش می دهد. فعال ماندن را به گونه ای انجام دهید که سرویس کاربر در هنگام boot فعال باشه و قبل از لاگین کاربر به سیستم عامل فعال باشه.

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 server در Centos 8

 

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

 

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

 

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

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

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

 

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

 

کاربران ویندوز می توانند با استفاده از PuTTY تنظیمات SSH را تنظیم کنند. Putty را باز کرده و آدرس IP سرور خود را در قسمت Host name or IP address وارد کنید.

 

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

 

 

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

 

اتصال با Vncviewer

 

برای اتصال به سرور از راه دور ، VNC viewer خود را باز کرده و مقدار localhost:5901 را وارد کنید. می توانیداز هر VNC viewer مانند TigerVNC ، TightVNC ، RealVNC ، UltraVNC ، Vinagre و VNC Viewer استفاده کنید. ما از TigerVNC استفاده می کنیم

 

 

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