כיצד להתקין ולהגדיר שרת VNC ב־CentOS ו־RHEL

במדריך זה, אנו נסביר כיצד להתקין ולהגדיר את שידור מקבץ מרחוק VNC בCentOS 7/8 ובRHEL 9/8/7 מהדורת השולחן באמצעות תוכנית tigervnc-server כדי לגשת מרוחקת למחשבים עם דפדגיה.

VNC (מחשבון רשת וירטואלי) היא תקשורת שרת-לקוח המאפשרת לחשבונות משתמש להתחבר מרוחק ולשלוט במערכת רחוקה באמצעות המשאבים הניתנים על ידי ממשק משתמשים גרפי.

בניגוד לשרתי VNC אחרים הקיימים שמתחברים ישירות לשולחן העבודה בזמן הריצה, כגון VNC X או Vino, tigervnc-vncserver משתמש במנגנון שונה המגדיר שולחן עבודה וירטואלי נפרד עבור כל משתמש.

דרישות

שלב 1: התקנה והכנת VNC על CentOS

1. Tigervnc-server הוא תוכנת שבוצע השרת Xvnc ומתחיל סשרונות מקבילים של Gnome או סביבות פנסים אחרות על השולחן הווירטואלי VNC.

A started VNC user session can be accessed by the same user from multiple VNC clients. In order to install the TigerVNC server in CentOS/RHEL, open a terminal session and issue the following yum command with root privileges.

$ sudo yum install tigervnc-server
Install TigerVNC in Linux

2. לאחר שהתקנת את התוכנה, התחבר עם המשתמש שברצונך להריץ את VNC התוכנה והוצא את הפקודה הבאה במסמך המסוף כדי להגדיר סיסמא עבור שרת VNC.

שים לב שהסיסמה חייבת להיות לפחות שש תווים ארוכים.

$ su - your_user
$ vncpasswd
Create VNC Password

3. לאחר מכן, הוסף קובץ VNC שירות תיקייה עבור המשתמש שלך דרך קובץ תיקייה של דמון ממסד systemd. כדי להעתיק את קובץ התבנית VNC אתה צריך לרוץ את הפקודה cp הבאה עם פרישות של משתמש מוסמך.

אם המשתמש שלך אינו הוקצה פריבילגיות sudo, יש לעבור ישירות לחשבון השורה או לבצע את הפקודה מחשבון עם פריבילגיות שורה.

# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

4. בשלב הבא צרו את הקובץ התיק של תבנית VNC המועתק מהמדריך /etc/systemd/system/ והחליפו את הערכים הבאים כדי לשקף את המשתמש שלך כפי שמוצג בדוגמה שלהלן.

הערך של 1 אחרי סימן @ מייצג את מספר התצוגה (נתיב 5900+display). כמו כן, עבור כל שרת VNC שנפעיל, הנתיב 5900 יגדל ב1.

# vi /etc/systemd/system/vncserver@\:1.service

הוסף את השורות הבאות לקובץ vncserver@:1.service.

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=tecmint
Group=tecmint
WorkingDirectory=/home/tecmint
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x1024
PIDFile=/home/tecmint/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target
Configure VNC Systemd

5. לאחר שביצעת שינויים מתאימים לקובץ השירות VNC, טען את תוכנית האתחול המערכת systemd כדי לקבל את הקובץ התיק החדש של vnc ולהפעיל את שרת ה-TigerVNC.

כמו כן, בדוק את מצב השירות VNC והפעיל את דמון השירות VNC ברמה של מערכת על ידי פרסום הפקודות הבאות.

# systemctl daemon-reload
# systemctl start vncserver@:1
# systemctl status vncserver@:1
# systemctl enable vncserver@:1
Start VNC Service

6. לשים רשימת פורטים פתוחים במצב ההקשבה ששייכים לשרת VNC, הפעל את פקודת ss, שמשמשת להצגת תאי רשת. מאחר והתחלת רק מופע אחד של שרת VNC, הפורט הראשון שנפתח הוא 5901/TCP.

שוב, פקודת ss חייבת להיות מופעלת עם זכויות root. במקרה שתתחיל מופעים נוספים של VNC במקביל עבור משתמשים שונים, הערך של הפורט יהיה 5902 עבור השני, 5903 עבור השלישי, וכן הלאה. הפורטים 6000+ משמשים לאפשר ליישומי X להתחבר לשרת VNC.

# ss -tulpn| grep vnc
Verify VNC Listening Ports

7. כדי לאפשר ללקוחות VNC חיצוניים להתחבר לשרת VNC, עליך לוודא שהפורטים הפתוחים המתאימים של VNC מותרים לעבור את החומת האש שלך.

במקרה שמתחיל רק מופע אחד של שרת VNC, תצטרך לפתוח רק את הפורט הראשון שהוקצה ל-VNC: 5901/TCP על ידי פרסום הפקודות הבאות כדי ליישם את תצורת החומת האש בזמן הריצה.

# firewall-cmd --add-port=5901/tcp
# firewall-cmd --add-port=5901/tcp --permanent

שלב 2: התחברות לשולחן העבודה של CentOS דרך לקוח VNC

8. כפרוטוקול בלתי תלוי בפלטפורמה, חיבורים רחוקים ממשקי משתמש גרפי VNC יכולים להתבצע מכמעט כל מערכת הפעלה עם GUI ולקוחות VNC מיוחדים.

A popular VNC client used in Microsoft-based operating systems, fully compatible with Linux TigerVNC server, is the RealVNC VNC Viewer.

כדי להתחבר מרוחק לCentOS Desktop ממערכת מיקרוסופט באמצעות פרוטוקול VNC, פתח את התוכנת VNC Viewer, הוסף את כתובת ה-IP ומספר הפורט של שרת ה-VNC של CentOS, והקיש על [enter].

לאחר שהקשר VNC נבנה, יוצג אזהרה שהקשר אינו מוצפן על המסך כמוצג בתצוגות המסך למטה.

VNC Viewer Client
VNC Viewer Client Connection

9. כדי להתחמק מהאזהרה, הקיש על כפתור Continue, הוסף את הסיסמה שהוגדרה עבור שרת ה-VNC בנקודה 2 ואתה צריך להתחבר מרוחק לדפדפן CentOS עם המשתמש שהוקם להפעלת מופע VNC.

VNC Server User Password
VNC Remote CentOS Desktop

10. במקרה שהופיעה הודעת Authentication חדשה על המסך ולמשתמש שלך אין זכותות שורש, פשוט הקיש על כפתור Cancel כדי להמשיך לדפדפן CentOS, כמוצג בתצוגת המסך למטה.

VNC Server Authentication Warning

זכור שהתקשורת ה-VNC בין השרת ללקוח וכל הנתונים שהוחלפו (חוץ מהסיסמה) פועלים בתעבורה לא מוצפנת. כדי להצפין ולאבטח את ההעברה של תמורת VPN, תחילה עליך להקים מנהל מנהרת SSH מאובטח ולהפעיל כל תמורת VPN שמורה דרך מנהרת ה-SSH.

11. כדי להתחבר מרוחק לדפדפן CentOS באמצעות פרוטוקול VNC מדפדפנים נוספים של CentOS, קבע תחילה שהחבילה vinagre מותקנת במערכת שלך על ידי הוצאת הפקודה הבאה.

$ sudo yum install vinagre

12. כדי לפתוח את תוכנת vinagre, היכנס ל-יישומים -> כלי עבודה -> מצגת משתמש רחוק כפי שמוצג בצילום מסך שלמטה.

Open Vinagre Tool

13. כדי להתחבר מרחוק לשולחן עבודה של CentOS, לחץ על התחבר, בחר ב-VNC מהרשימה והוסף את כתובת ה-IP והפורט (5900+מספר התצוגה) של שרת VNC הרחוק. כמו כן, הזן את הסיסמא שהוגדרה עבור המשתמש של VNC כפי שמוצג בצילומי מסך הבאים.

Select Remote Desktop Protocol
Enter Remote VNC Details
Remote VNC CentOS Desktop

14. עוד לקוח VNC פופולרי למערכות בסיס קרחון היא Remmina, קלינט מסך רחוק שמשמש במיוחד בהתפתחויות מבוססות דביאן שפועלות בסביבת מסך GNOME.

כדי להתקין את קלינט מסך רחוק Remmina בהתפתחויות מבוססות דביאן, הפעל את הפקודה הבאה.

$ sudo apt-get install remmina

שלב 3: הגדר מספר רב של מסדי רישום VNC ב-CentOS

15. במקרה שאתה צריך להפעיל מסד רישום VNC חדש ובמקביל תחת אותו משתמש, פתח ח console של המסד רישום, התחבר באמצעות המשתמש שברצונך להתחיל את מסד הרישום החדש של ה-VNC ובצע את הפקודה הבאה.

כשאתה מתחיל את השרת לראשונה תשאלו לספק סיסמא חדשה עבור המסד רישום הזה. עם זאת, שים לב שמסד הרישום זה פועל עם הרשאות המשתמש שהתחברת ובאופן עצמאי מהמסד רישום של שרת VNC של systemd שהתחלת.

$ vncserver
Start New VNC Session

16. ההפעלות החדשות של VNC יפתחו ביציאות המבוססות על VNC הזמינות הבאות (5900+3 תצוגה בדוגמה זו). כדי להציג את היציאות שנפתחו, הפעל את פקודת ה־ss ללא הרשאות שורש כפי שמוצג בקטע הבא. היא תרשום רק את ההפעלות של VNC שהתחילו על ידי המשתמש שלך.

$ ss -tlpn| grep Xvnc
List VNC Open Ports

17. כעת, התחבר מרחוק למשולבת CentOS באמצעות ההפעלה החדשה של VNC הזו, וספק את השילוב של כתובת ה־IP:היציאה (192.168.1.23:5903) בלקוח VNC כפי שמוצג בתמונה למטה.

Connect to VNC Remote Desktop

כדי לעצור את ההפעלות של שרת ה־VNC שהופעלו עם ההרשאות של משתמש זה, הפקודה הבאה ניתנת לביצוע ללא הרשאות שורש. הפקודה תשמיד את כל ההפעלות של VNC שהופעלו רק על ידי המשתמש שציין אותם.

$ su - your_user
$ killall Xvnc

זה הכל! כעת תוכל לגשת למערכת CentOS שלך ולבצע משימות מנהל באמצעות הממשק הגרפי המסופק על ידי מערכת ההפעלה.

Source:
https://www.tecmint.com/install-and-configure-vnc-server-in-centos-7/