Jinsi ya Kufunga na Kusanidi Seva ya VNC katika CentOS 7


Katika mwongozo huu tutaeleza jinsi ya kusakinisha na kusanidi Ufikiaji wa Mbali wa VNC katika toleo jipya zaidi la CentOS 7 na RHEL 7 Desktop kupitia programu ya seva ya tigervnc.

VNC (Virtual Network Computing) ni itifaki ya mteja-seva ambayo inaruhusu akaunti za watumiaji kuunganisha kwa mbali na kudhibiti mfumo wa mbali kwa kutumia rasilimali zinazotolewa na Kiolesura cha Mchoro cha Mtumiaji.

Tofauti na seva zingine za VNC zinazopatikana ambazo huunganisha moja kwa moja kwenye kompyuta ya mezani inayotumika, kama vile VNC X au Vino, tigervnc-vncserver hutumia utaratibu tofauti ambao husanidi kompyuta ya mezani inayojitegemea kwa kila mtumiaji.

  1. Utaratibu wa Usakinishaji wa CentOS 7
  2. Utaratibu wa Usakinishaji wa RHEL 7

Hatua ya 1: Sakinisha na Usanidi VNC katika CentOS 7

1. Tigervnc-server ni programu ambayo hutekeleza seva ya Xvnc na kuanzisha vipindi sambamba vya Gnome au Mazingira mengine ya Eneo-kazi kwenye eneo-kazi la VNC.

Kipindi cha mtumiaji cha VNC kilichoanzishwa kinaweza kufikiwa na mtumiaji yule yule kutoka kwa wateja wengi wa VNC. Ili kusakinisha seva ya TigerVNC katika CentOS 7, fungua kipindi cha Kituo na utoe amri ifuatayo na haki za mizizi.

$ sudo yum install tigervnc-server

2. Baada ya, umesakinisha programu, ingia na mtumiaji unayetaka kuendesha programu ya VNC na toa amri iliyo hapa chini kwenye terminal ili kusanidi nenosiri kwa seva ya VNC.

Fahamu kuwa nenosiri lazima liwe na urefu wa angalau vibambo sita.

$ 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. Kisha, ongeza faili ya usanidi wa huduma ya VNC kwa mtumiaji wako kupitia faili ya usanidi ya daemon iliyowekwa kwenye mti wa saraka ya systemd. Ili kunakili faili ya kiolezo cha VNC unahitaji kutekeleza amri ifuatayo na marupurupu ya mizizi.

Ikiwa mtumiaji wako hajapewa marupurupu ya sudo, badilisha moja kwa moja hadi akaunti ya mizizi au endesha amri kutoka kwa akaunti iliyo na haki za mizizi.

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

4. Katika hatua inayofuata hariri faili ya usanidi wa kiolezo cha VNC iliyonakiliwa kutoka /etc/systemd/system/ directory na ubadilishe thamani za ili kuonyesha mtumiaji wako kama inavyoonyeshwa kwenye sampuli iliyo hapa chini.

Thamani ya 1 baada ya ishara ya @ inawakilisha nambari ya kuonyesha (bandari 5900+onyesho). Pia, kwa kila seva ya VNC iliyoanza, bandari 5900 itaongezwa kwa 1.

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

Ongeza njia zifuatazo kwenye faili [email :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. Baada ya kufanya mabadiliko yanayofaa kwenye faili ya huduma ya VNC, pakia upya programu ya uanzishaji wa mfumo ili kuchukua faili mpya ya usanidi wa vnc na uanzishe seva ya TigerVNC.

Pia, angalia hali ya huduma ya VNC na uwashe mfumo mzima wa daemon ya VNC kwa kutoa amri zilizo hapa chini.

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

6. Kuorodhesha bandari zilizofunguliwa katika hali ya kusikiliza inayomilikiwa na seva ya VNC, endesha amri ya ss, ambayo inatumika katika CentOS 7 ili kuonyesha soketi za mtandao. Kwa sababu umeanzisha mfano mmoja tu wa seva ya VNC, bandari ya kwanza wazi ni 5901/TCP.

Tena, amri ya ss lazima itekelezwe na marupurupu ya mizizi. Ikiwa utaanza matukio mengine ya VNC sambamba kwa watumiaji tofauti, thamani ya bandari itakuwa 5902 kwa pili, 5903 kwa tatu na kadhalika. Bandari 6000+ hutumika kwa kuruhusu programu za X kuunganishwa kwenye seva ya VNC.

# ss -tulpn| grep vnc

7. Ili kuruhusu wateja wa nje wa VNC kuunganishwa kwenye seva ya VNC katika CentOS, unahitaji kuhakikisha kuwa milango iliyo wazi ya VNC inaruhusiwa kupita kwenye ngome yako.

Iwapo mfano mmoja tu wa seva ya VNC umeanzishwa, unahitaji tu kufungua lango la kwanza la VNC lililotengwa: 5901/TCP kwa kutoa amri zilizo hapa chini ili kutumia usanidi wa ngome wakati wa utekelezaji.

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

Hatua ya 2: Kuunganisha kwenye Eneo-kazi la CentOS kupitia Mteja wa VNC

8. Kwa kuwa itifaki inayojitegemea ya jukwaa, miunganisho ya VNC ya Kiolesura cha Mchoro ya mbali inaweza kufanywa kutoka kwa karibu mfumo wowote wa uendeshaji wenye GUI na mteja maalumu wa VNC.

Mteja maarufu wa VNC anayetumiwa katika mifumo ya uendeshaji yenye msingi wa Microsoft, inayotangamana kikamilifu na seva ya Linux TigerVNC, ni Kitazamaji cha RealVNC VNC.

Ili kuunganisha kwa mbali kwenye CentOS Desktop kutoka kwa Microsoft OS kupitia itifaki ya VNC, fungua programu ya VNC Viewer, ongeza anwani ya IP na nambari ya mlango wa seva ya CentOS VNC na ubofye kitufe cha [ingiza].

Baada ya muunganisho wa VNC kuanzishwa onyo linalosema kuwa muunganisho haujasimbwa linapaswa kuonyeshwa kwenye skrini yako kama inavyoonyeshwa kwenye picha za skrini zilizo hapa chini.

9. Ili kukwepa onyo, bonyeza kitufe cha Endelea, ongeza usanidi wa nenosiri kwa seva ya VNC katika hatua ya 2 na unapaswa kuunganishwa kwa mbali kwenye CentOS Desktop na mtumiaji amesanidiwa kuendesha mfano wa seva ya VNC.

10. Iwapo ujumbe mpya wa Uthibitishaji utaonekana kwenye skrini yako na mtumiaji wako hana upendeleo wa mizizi, bonyeza tu kitufe cha Ghairi ili uende kwenye CentOS Desktop, kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini.

Fahamu kwamba mawasiliano yaliyoanzishwa ya VNC kati ya seva na mteja na data yoyote iliyobadilishwa (isipokuwa nenosiri) hupitia chaneli ambayo haijasimbwa. Ili kusimba na kulinda uhamishaji data wa VPN, kwanza unahitaji kusanidi handaki salama la SSH na uendeshe trafiki yoyote inayofuata ya VPN kwenye handaki ya SSH.

11. Ili kuunganisha kwa mbali kwenye CentOS Desktop kupitia itifaki ya VNC kutoka kwenye Eneo-kazi lingine la CentOS, kwanza hakikisha kuwa kifurushi cha vinagre kimesakinishwa kwenye mfumo wako kwa kutoa amri iliyo hapa chini.

$ sudo yum install vinagre

12. Ili kufungua matumizi ya vinagre, nenda kwa Programu -> Huduma -> Kitazamaji cha Eneo-kazi la Mbali kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini.

13. Ili kuunganisha kwa mbali kwenye Eneo-kazi la CentOS, bonyeza kitufe cha Unganisha, chagua itifaki ya VNC kutoka kwenye orodha na uongeze anwani ya IP na mlango (nambari ya onyesho 5900+) ya seva ya mbali ya VNC. Pia, toa usanidi wa nenosiri kwa mtumiaji wa VNC kama inavyoonyeshwa kwenye picha za skrini zifuatazo.

14. Mteja mwingine maarufu wa VNC kwa majukwaa ya msingi ya Linux ni Remmina, ni mteja wa eneo-kazi la mbali hutumika hasa katika ugawaji unaotegemea Debian ambao huendesha mazingira ya eneo-kazi la GNOME.

Ili kusakinisha mteja wa Remote Desktop wa Remmina katika distros ya msingi wa Debian toa amri ifuatayo.

$ sudo apt-get install remmina

Hatua ya 3: Sanidi Vikao Vingi vya VNC katika CentOS 7

15. Iwapo utahitaji kuendesha kipindi kipya cha VNC sambamba chini ya mtumiaji huyo huyo, fungua kiweko cha Kituo, ingia na mtumiaji unayetaka kuanzisha kipindi kipya cha VNC na utekeleze amri iliyo hapa chini.

Unapoanzisha seva kwa mara ya kwanza utaombwa kutoa nenosiri jipya kwa kipindi hiki. Hata hivyo, fahamu kuwa kipindi hiki kinaendeshwa na ruhusa zako za mtumiaji aliyeingia na bila kujitegemea kutoka kwa kipindi cha seva cha VNC kilichoanzishwa.

$ vncserver

16. Vipindi vipya vya VNC vitafungua bandari zinazofuata za VNC zinazopatikana (5900+3 onyesho katika mfano huu). Ili kuonyesha bandari zilizofunguliwa, tekeleza amri ya ss bila upendeleo wa mizizi kama inavyoonyeshwa kwenye dondoo hapa chini. Itaorodhesha tu vipindi vya VNC vilivyoanzishwa vinavyodaiwa na mtumiaji wako.

$ ss -tlpn| grep Xvnc

17. Sasa, unganisha kwa mbali kwenye Eneo-kazi la CentOS ukitumia kipindi hiki kipya cha VNC, toa IP:mseto wa bandari (192.168.1.23:5903) katika kiteja cha VNC kama inavyoonyeshwa kwenye picha iliyo hapa chini.

Ili kusimamisha matukio ya seva ya VNC iliyoanza na ruhusa hii ya mtumiaji, toa amri ifuatayo bila upendeleo wowote wa mizizi. Amri hii itaharibu hali zote za VNC zinazomilikiwa na mtumiaji aliyezitaja pekee.

$ su - your_user
$ killall Xvnc

Ni hayo tu! Sasa unaweza kufikia mfumo wako wa CentOS 7 na utekeleze kazi za usimamizi kwa kutumia kiolesura cha picha cha mtumiaji kilichotolewa na mfumo wa uendeshaji.