CentOS 7 में VNC सर्वर को कैसे स्थापित और कॉन्फ़िगर करें


इस गाइड में हम बताएंगे कि CentOS 7 और RHEL 7 के डेस्कटॉप संस्करण की नवीनतम रिलीज़ में VNC रिमोट एक्सेस कैसे कॉन्फ़िगर करें > tigervnc-server प्रोग्राम।

VNC ( वर्चुअल नेटवर्क कम्प्यूटिंग ) एक सर्वर-क्लाइंट प्रोटोकॉल है जो उपयोगकर्ता खातों को ग्राफिकल यूजर इंटरफेस द्वारा प्रदान किए गए संसाधनों का उपयोग करके दूर से कनेक्ट और नियंत्रित करने की अनुमति देता है।

अन्य वीएनसी के विपरीत उपलब्ध सर्वर जो सीधे रनटाइम डेस्कटॉप सेजुड़ता है, जैसे कि वीएनसी एक्स या वीनो , टाइगर्नेक-वेनसर्वर एक अलग तंत्र का उपयोग करता है जो प्रत्येक उपयोगकर्ता के लिए एक स्टैंडअलोन वर्चुअल डेस्कटॉप को कॉन्फ़िगर करता है।

  1. CentOS 7 Installation Procedure
  2. RHEL 7 Installation Procedure

चरण 1: CentOS 7 में VNC स्थापित और कॉन्फ़िगर करें

1। Tigervnc-server एक प्रोग्राम है जो Xvnc सर्वर निष्पादित करता है और Gnome या अन्य डेस्कटॉप के समानांतर सत्र शुरू करता है VNC डेस्कटॉप पर पर्यावरण।

प्रारंभ किया गया VNC उपयोगकर्ता सत्र को एक ही उपयोगकर्ता द्वारा कई VNC क्लाइंट से एक्सेस किया जा सकता है। CentOS 7 में TigerVNC सर्वर स्थापित करने के लिए, टर्मिनल सत्र खोलें और रूट विशेषाधिकारों के साथ निम्न आदेश जारी करें।

$ sudo yum install tigervnc-server

2। इसके बाद, आपने प्रोग्राम स्थापित कर लिया है, उस उपयोगकर्ता से लॉग इन करें, जिसे आप VNC प्रोग्राम चलाना चाहते हैं और टर्मिनल में नीचे का आदेश जारी करें ताकि VNC सर्वर के लिए पासवर्ड कॉन्फ़िगर किया जा सके।

ध्यान रखें कि पासवर्ड कम से कम छह अक्षरों की लंबाई का होना चाहिए।

$ su - your_user  # If you want to configure VNC server to run under this user directly from CLI without switching users from GUI
$ vncpasswd

3। इसके बाद, सिस्टम डाइरेक्टरी ट्री में रखी एक डेमन कॉन्फ़िगरेशन फ़ाइल के माध्यम से अपने उपयोगकर्ता के लिए VNC सेवा कॉन्फ़िगरेशन फ़ाइल जोड़ें। VNC टेम्पलेट फ़ाइल की प्रतिलिपि बनाने के लिए आपको रूट विशेषाधिकारों के साथ निम्नलिखित कमांड को चलाने की आवश्यकता है।

यदि आपका उपयोगकर्ता sudo विशेषाधिकारों के साथ प्रदान नहीं किया गया है, तो या तो सीधे रूट खाते में जाएं या रूट विशेषाधिकारों वाले खाते से कमांड चलाएं।

# cp /lib/systemd/system/[email   /etc/systemd/system/[email :1.service

4। अगले चरण पर कॉपी की गई VNC टेम्पलेट कॉन्फ़िगरेशन फ़ाइल को /etc/systemd/system/ निर्देशिका से संपादित करें और मानों को बदलने के लिए अपने को प्रतिबिंबित करें उपयोगकर्ता नीचे दिए गए नमूने में दिखाया गया है।

1 का मूल्य @ संकेत के बाद प्रदर्शन संख्या (पोर्ट 5900 + प्रदर्शन ) का प्रतिनिधित्व करता है। इसके अलावा, प्रत्येक प्रारंभ किए गए VNC सर्वर के लिए, पोर्ट 5900 1 द्वारा बढ़ाया जाएगा।

# vi /etc/systemd/system/[email \:1.service

फ़ाइल [ईमेल संरक्षित]: 1.service फ़ाइल करने के लिए निम्न पंक्तियों को जोड़ें।

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

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

[Install]
WantedBy=multi-user.target

5। VNC सेवा फ़ाइल में उचित परिवर्तन करने के बाद, नए vnc कॉन्फ़िगरेशन फ़ाइल को लेने और TigerVNC सर्वर को शुरू करने के लिए systemd system initialization प्रोग्राम को पुनः लोड करें।

इसके अलावा, वीएनसी सेवा की स्थिति की जांच करें और नीचे दिए गए आदेशों को जारी करके वीएनसी डेमॉन सिस्टम-वाइड को सक्षम करें।

# systemctl daemon-reload
# systemctl start [email :1
# systemctl status [email :1
# systemctl enable [email :1

6। वीएनसी सर्वर के स्वामित्व वाले राज्य को सुनने में खोले गए बंदरगाहों को सूचीबद्ध करने के लिए, एसएस कमांड चलाएं, जो नेटवर्क सॉकेट प्रदर्शित करने के लिए CentOS 7 में उपयोग किया जाता है। क्योंकि आपने केवल VNC सर्वर का एक उदाहरण शुरू किया है, पहला खुला पोर्ट 5901/TCP है।

फिर से, ss कमांड को रूट विशेषाधिकारों के साथ निष्पादित किया जाना चाहिए। यदि आप विभिन्न उपयोगकर्ताओं के लिए समानांतर में अन्य VNC उदाहरण शुरू करते हैं, तो पोर्ट वैल्यू 5902 दूसरे के लिए, 5903 तीसरे और इतने पर होगी। पोर्ट 6000 + का उपयोग X अनुप्रयोगों को VNC सर्वर से कनेक्ट करने की अनुमति देने के लिए किया जाता है।

# ss -tulpn| grep vnc

7। बाहरी VNC क्लाइंट को CentOS में VNC सर्वर से कनेक्ट करने की अनुमति देने के लिए, आपको यह सुनिश्चित करने की आवश्यकता है कि उचित VNC खुले पोर्ट को आपके फ़ायरवॉल से गुजरने की अनुमति है।

यदि VNC सर्वर का सिर्फ एक उदाहरण शुरू होता है, तो आपको रनटाइम पर फ़ायरवॉल कॉन्फ़िगरेशन को लागू करने के लिए नीचे दिए गए आदेश जारी करके पहले आवंटित VNC पोर्ट: 5901/TCP खोलने की आवश्यकता है।

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

चरण 2: VNC क्लाइंट के माध्यम से CentOS डेस्कटॉप सेकनेक्ट करना

8। एक प्लेटफ़ॉर्म स्वतंत्र प्रोटोकॉल होने के नाते, दूरस्थ ग्राफ़िकल यूज़र इंटरफ़ेस VNC कनेक्शन GUI और एक विशेष VNC क्लाइंट के साथ लगभग किसी भी ऑपरेटिंग सिस्टम से किया जा सकता है।

Microsoft आधारित ऑपरेटिंग सिस्टम में उपयोग किया जाने वाला एक लोकप्रिय VNC क्लाइंट, पूरी तरह से Linux TigerVNC सर्वर के साथ संगत है, यह RealVNC VNC व्यूअर है।

VNC प्रोटोकॉल के माध्यम से Microsoft OS से CentOS डेस्कटॉप सेदूरस्थ रूप से कनेक्ट करने के लिए, VNC व्यूअर प्रोग्राम खोलें, CentOS VNC सर्वर का IP पता और पोर्ट संख्या जोड़ें और [Enter] दबाएं। > कुंजी।

वीएनसी कनेक्शन स्थापित होने के बाद एक चेतावनी यह कहते हुए कि कनेक्शन एन्क्रिप्टेड नहीं है आपकी स्क्रीन पर प्रदर्शित किया जाना चाहिए जैसा कि नीचे स्क्रीनशॉट में सचित्र है।

9। चेतावनी को बायपास करने के लिए, जारी रखें बटन पर हिट करें, बिंदु 2 पर VNC सर्वर के लिए पासवर्ड सेटअप जोड़ें और आपको दूरस्थ रूप से CentOS डेस्कटॉप सेकनेक्ट होना चाहिए उपयोगकर्ता VNC सर्वर उदाहरण को चलाने के लिए कॉन्फ़िगर किया गया है।

10। यदि आपकी स्क्रीन पर एक नया प्रमाणीकरण संदेश दिखाई देता है और आपके उपयोगकर्ता के पास कोई रूट विशेषाधिकार नहीं है, तो बस रद्द करें बटन को CentOS Desktop पर जारी रखें , जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है।

ज्ञात हो कि सर्वर और क्लाइंट के बीच स्थापित वीएनसी संचार और किसी भी डेटा का आदान-प्रदान (पासवर्ड को छोड़कर) एक अनएन्क्रिप्टेड चैनल पर चलता है। वीपीएन डेटा ट्रांसफर को एन्क्रिप्ट और सुरक्षित करने के लिए, सबसे पहले आपको एक सुरक्षित एसएसएच टनल को सेटअप करना होगा और बाद में एसएसएच टनल पर किसी भी वीपीएन ट्रैफ़िक को चलाना होगा।

11। अन्य CentOS डेस्कटॉप सेVNC प्रोटोकॉल के माध्यम से CentOS डेस्कटॉप सेदूरस्थ रूप से कनेक्ट करने के लिए, पहले सुनिश्चित करें कि vinagre पैकेज नीचे दिए गए आदेश को जारी करके आपके सिस्टम पर स्थापित है।

$ sudo yum install vinagre

12। vinagre उपयोगिता खोलने के लिए, एप्लिकेशन - > उपयोगिताएँ - > रिमोट डेस्कटॉप व्यूअर जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है।

13। सेंटोस डेस्कटॉप सेदूर से कनेक्ट करने के लिए, कनेक्ट बटन पर हिट करें, सूची से VNC प्रोटोकॉल चुनें और IP पता जोड़ें दूरस्थ VNC सर्वर का और पोर्ट ( 5900 + प्रदर्शन नंबर)। इसके अलावा, VNC उपयोगकर्ता के लिए पासवर्ड सेटअप की आपूर्ति निम्न स्क्रीनशॉट में सचित्र है।

14। लिनक्स आधारित प्लेटफार्मों के लिए एक और लोकप्रिय VNC क्लाइंट रेमिना है, एक दूरस्थ डेस्कटॉप क्लाइंट है जो विशेष रूप से डेबियन-आधारित वितरण में उपयोग किया जाता है जो GNOME डेस्कटॉप वातावरण चलाते हैं।

डेबियन आधारित डिस्ट्रोस में रेमिना रिमोट डेस्कटॉप क्लाइंट स्थापित करने के लिए निम्न कमांड जारी करें।

$ sudo apt-get install remmina

चरण 3: CentOS 7 में एकाधिक VNC सत्र कॉन्फ़िगर करें

15। यदि आपको एक ही उपयोगकर्ता के तहत एक नया समानांतर VNC सत्र चलाने की आवश्यकता है, तो एक टर्मिनल कंसोल खोलें, उस उपयोगकर्ता के साथ लॉग इन करें जिसे आप नया VNC सत्र शुरू करना चाहते हैं और नीचे दिए गए कमांड को निष्पादित करना चाहते हैं।

जब आप पहली बार सर्वर शुरू करते हैं तो आपको इस सत्र के लिए एक नया पासवर्ड प्रदान करने के लिए कहा जाएगा। हालाँकि, ध्यान रखें कि यह सत्र आपके लॉग-इन उपयोगकर्ता अनुमतियों के साथ और स्वतंत्र रूप से शुरू किए गए सिस्टम VNC सर्वर सत्र से चलता है।

$ vncserver

16। नए VNC सत्र अगले उपलब्ध VNC आधारित पोर्ट ( 5900 + 3 इस उदाहरण में प्रदर्शित करेंगे) खोलेंगे। खोले गए बंदरगाहों को प्रदर्शित करने के लिए ss कमांड को निष्पादित करें बिना रूट विशेषाधिकार के जैसा कि नीचे दिए गए अंश में चित्रित किया गया है। यह केवल आपके उपयोगकर्ता द्वारा शुरू किए गए VNC सत्रों को सूचीबद्ध करेगा।

$ ss -tlpn| grep Xvnc

17। अब, इस नए VNC सत्र का उपयोग करके CentOS डेस्कटॉप सेदूरस्थ रूप से कनेक्ट करें, नीचे चित्र में वर्णित के रूप में VNC क्लाइंट में IP: पोर्ट संयोजन (192.168.1.23 201903) की आपूर्ति करें।

उपयोगकर्ता अनुमतियों में इस लॉग के साथ शुरू किए गए VNC सर्वर इंस्टेंस को रोकने के लिए, बिना किसी रूट विशेषाधिकार के निम्नलिखित कमांड जारी करें। यह कमांड केवल उनके द्वारा बताए गए उपयोगकर्ता के स्वामित्व वाले VNC के सभी इंस्टेंस को नष्ट कर देगा।

$ su - your_user
$ killall Xvnc

बस इतना ही! अब आप अपने CentOS 7 सिस्टम को एक्सेस कर सकते हैं और ऑपरेटिंग सिस्टम द्वारा प्रदान किए गए ग्राफिकल यूजर इंटरफेस का उपयोग करके प्रशासनिक कार्य कर सकते हैं।