Vyhledávání na webu

Jak nainstalovat a nakonfigurovat VNC Server v CentOS a RHEL


V této příručce vysvětlíme, jak nainstalovat a nakonfigurovat VNC Remote Access na ploše CentOS 7/8 a RHEL 9/8/7 vydání prostřednictvím programu tigervnc-server pro přístup ke vzdáleným počítačům.

VNC (Virtual Network Computing) je protokol server-klient, který umožňuje uživatelským účtům se vzdáleně připojit a ovládat vzdálený systém pomocí prostředků poskytovaných grafickým uživatelským rozhraním.

Na rozdíl od jiných dostupných serverů VNC, které se připojují přímo k běhové ploše, jako jsou VNC X nebo Vino, tigervnc-vncserver používá jiný mechanismus, který konfiguruje samostatnou virtuální plochu pro každého uživatele.

Požadavky

  • Instalace CentOS 8 se snímky obrazovky
  • Postup instalace CentOS 7
  • Jak nainstalovat RHEL 9 zdarma
  • Jak nainstalovat RHEL 8 zdarma
  • Postup instalace RHEL 7

Krok 1: Nainstalujte a nakonfigurujte VNC na CentOS

1. Tigervnc-server je program, který spouští Xvnc server a spouští paralelní relace Gnome nebo jiného počítače prostředí na ploše VNC.

Ke spuštěné uživatelské relaci VNC může stejný uživatel přistupovat z více klientů VNC. Chcete-li nainstalovat server TigerVNC v systému CentOS/RHEL, otevřete terminálovou relaci a zadejte následující příkaz yum s právy root.

sudo yum install tigervnc-server

2. Po instalaci programu se přihlaste jako uživatel, kterému chcete spustit program VNC, a zadejte níže uvedený příkaz v terminálu, abyste nakonfigurovali heslo pro VNC server.

Pamatujte, že heslo musí mít alespoň šest znaků.

su - your_user
vncpasswd

3. Dále přidejte konfigurační soubor služby VNC pro svého uživatele prostřednictvím konfiguračního souboru démona umístěného ve stromu adresářů systemd. Chcete-li zkopírovat soubor šablony VNC, musíte spustit následující příkaz cp s právy root.

Pokud váš uživatel nemá oprávnění sudo, přepněte přímo na účet root nebo spusťte příkaz z účtu s oprávněními root.

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

4. V dalším kroku upravte zkopírovaný konfigurační soubor šablony VNC z adresáře /etc/systemd/system/ a nahraďte následující hodnoty tak, aby odpovídaly vašemu uživateli, jak je uvedeno níže vzorek.

Hodnota 1 za znakem @ představuje číslo displeje (port 5900+display). Pro každý spuštěný VNC server se také port 5900 zvýší o 1.

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

Přidejte následující řádky do souboru 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

5. Po provedení správných změn v souboru služby VNC znovu načtěte inicializační program systému systemd, abyste vyzvedli nový konfigurační soubor vnc a spustili server TigerVNC.

Zkontrolujte také stav služby VNC a povolte démona VNC v celém systému pomocí níže uvedených příkazů.

systemctl daemon-reload
systemctl start vncserver@:1
systemctl status vncserver@:1
systemctl enable vncserver@:1

6. Chcete-li zobrazit seznam otevřených portů ve stavu naslouchání vlastněných serverem VNC, spusťte příkaz ss, který se používá k zobrazení síťových soketů. Protože jste spustili pouze jednu instanci serveru VNC, první otevřený port je 5901/TCP.

Opět platí, že příkaz ss musí být proveden s právy root. V případě, že paralelně spustíte další instance VNC pro různé uživatele, bude hodnota portu 5902 pro druhého, 5903 pro třetího atd. Porty 6000+ se používají k tomu, aby se X aplikace mohly připojit k serveru VNC.

ss -tulpn| grep vnc

7. Aby bylo možné externím klientům VNC povolit připojení k serveru VNC, musíte se ujistit, že přes bránu firewall mohou procházet správné otevřené porty VNC.

V případě, že je spuštěna pouze jedna instance serveru VNC, stačí otevřít první přidělený port VNC: 5901/TCP zadáním níže uvedených příkazů a použít konfiguraci brány firewall za běhu.

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

Krok 2: Připojení k ploše CentOS prostřednictvím klienta VNC

8. Vzhledem k tomu, že jde o protokol nezávislý na platformě, lze vzdálená připojení Graphical User Interface VNC provádět téměř z jakéhokoli operačního systému s GUI a specializovaným klientem VNC.

Oblíbeným klientem VNC používaným v operačních systémech Microsoft , který je plně kompatibilní se serverem Linux TigerVNC, je RealVNC VNC Viewer.

Chcete-li se vzdáleně připojit k CentOS Desktop z operačního systému Microsoft prostřednictvím protokolu VNC, otevřete program VNC Viewer, přidejte adresu IP a číslo portu serveru CentOS VNC a stiskněte klávesu [enter].

Po navázání připojení VNC by se na obrazovce mělo zobrazit varování, že připojení není šifrované, jak je znázorněno na snímcích níže.

9. Chcete-li obejít varování, stiskněte tlačítko Pokračovat, přidejte nastavení hesla pro server VNC v bodě 2 a měli byste být vzdáleně připojeni k ploše CentOS pomocí uživatel nakonfigurovaný pro spuštění instance serveru VNC.

10. V případě, že se na obrazovce objeví nová zpráva Authentication a váš uživatel nemá práva root, stačí kliknout na tlačítko Zrušit a pokračovat do CentOS Desktop, jak je znázorněno na níže uvedeném snímku obrazovky.

Uvědomte si, že navázaná komunikace VNC mezi serverem a klientem a veškerá vyměňovaná data (kromě hesla) běží přes nešifrovaný kanál. Aby bylo možné šifrovat a zabezpečit přenos dat VPN, musíte nejprve nastavit zabezpečený tunel SSH a provozovat jakýkoli následný provoz VPN přes tunel SSH.

11. Chcete-li se vzdáleně připojit k CentOS Desktop přes protokol VNC z jiných CentOS Desktopů, nejprve se pomocí níže uvedeného příkazu ujistěte, že je ve vašem systému nainstalován balíček vinagre.

sudo yum install vinagre

12. Chcete-li otevřít nástroj vinagre, přejděte na Aplikace -> Nástroje -> Prohlížeč vzdálené plochy, jak je znázorněno na níže uvedeném snímku obrazovky.

13. Chcete-li se vzdáleně připojit k ploše CentOS, stiskněte tlačítko Připojit, vyberte ze seznamu protokol VNC a přidejte IP adresu a port (5900+zobrazovací číslo) vzdáleného serveru VNC. Zadejte také nastavení hesla pro uživatele VNC, jak je znázorněno na následujících snímcích obrazovky.

14. Dalším oblíbeným klientem VNC pro platformy založené na Linuxu je Remmina, klient pro vzdálenou plochu, který se používá zejména v distribucích založených na Debianu s desktopovým prostředím GNOME.

Chcete-li nainstalovat klienta Remmina Remote Desktop v distribucích založených na Debianu, zadejte následující příkaz.

sudo apt-get install remmina

Krok 3: Nakonfigurujte více relací VNC na CentOS

15. V případě, že potřebujete spustit novou paralelní relaci VNC pod stejným uživatelem, otevřete konzolu terminálu, přihlaste se pomocí uživatele, u kterého chcete zahájit novou relaci VNC, a spusťte níže uvedený příkaz.

Při prvním spuštění serveru budete požádáni o zadání nového hesla pro tuto relaci. Mějte však na paměti, že tato relace běží s oprávněními vašeho přihlášeného uživatele a nezávisle na spuštěné systémové relaci serveru VNC.

vncserver

16. Nové relace VNC otevřou další dostupné porty založené na VNC (v tomto příkladu se zobrazí 5900+3). Chcete-li zobrazit otevřené porty, spusťte příkaz ss bez oprávnění root, jak je znázorněno na níže uvedeném úryvku. Zobrazí pouze zahájené relace VNC, které dluží váš uživatel.

ss -tlpn| grep Xvnc

17. Nyní se vzdáleně připojte k CentOS Desktop pomocí této nové relace VNC a zadejte kombinaci IP:port (192.168.1.23:5903) v klientovi VNC, jak je znázorněno na obrázku níže.

Chcete-li zastavit instance serveru VNC spuštěné s těmito oprávněními přihlášeného uživatele, zadejte následující příkaz bez jakýchkoli oprávnění root. Tento příkaz zničí všechny spuštěné instance VNC vlastněné pouze uživatelem, který je uvedl.

su - your_user
killall Xvnc

To je vše! Nyní můžete přistupovat ke svému systému CentOS a provádět administrativní úlohy pomocí grafického uživatelského rozhraní poskytovaného operačním systémem.