Virtual Network Computing (VNC) je grafický systém pro sdílení plochy, který vám umožňuje používat klávesnici a myš ke vzdálenému ovládání jiného počítače.
Tento článek popisuje kroky k instalaci a konfiguraci serveru VNC na CentOS 8. Ukážeme vám také, jak se bezpečně připojit k serveru VNC prostřednictvím tunelu SSH.
Předpoklady #
Abyste mohli postupovat podle tohoto průvodce, musíte být přihlášeni jako uživatel s právy sudo na vašem vzdáleném počítači CentOS.
Instalace desktopového prostředí #
Servery obecně nemají nainstalované desktopové prostředí. Pokud počítač, ke kterému se chcete připojit, nemá GUI, prvním krokem je jeho instalace. V opačném případě tento krok přeskočte.
Spusťte následující příkaz k instalaci Gnome, výchozího desktopového prostředí v CentOS 8 na váš vzdálený počítač:
sudo dnf groupinstall "Server with GUI"
V závislosti na vašem systému může stažení a instalace balíčků a závislostí Gnome nějakou dobu trvat.
Instalace serveru VNC #
TigerVNC je aktivně udržovaný vysoce výkonný open-source VNC server. Je k dispozici ve výchozích úložištích CentOS. Chcete-li jej nainstalovat, zadejte:
sudo dnf install tigervnc-server
Konfigurace serveru VNC #
V CentOS 8 se TigerVNC konfiguruje pomocí démona systemd.
V tomto příkladu vám ukážeme, jak nakonfigurovat TigerVNC pro jednoho nebo více uživatelů VNC.
-
Použijte
vncpasswd
příkaz pro nastavení hesla. Spusťte příkaz jako uživatel, který bude přistupovat k serveru VNC, nepoužívejtesudo
:vncpasswd
Budete vyzváni k zadání a potvrzení hesla a zda jej chcete nastavit jako heslo pouze pro prohlížení. Pokud se rozhodnete nastavit heslo pouze pro zobrazení, uživatel nebude moci komunikovat s instancí VNC pomocí myši a klávesnice.
Poprvé
vncpasswd
je spuštěn, vytvoří a uloží soubor s hesly do~/.vnc
uživatele adresář.Password: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not used
Pokud přidáváte druhého uživatele, přepněte na ita nastavte heslo pomocí
vncpasswd
. -
Dalším krokem je konfigurace TigerVNC pro použití Gnome. VNC načte nastavení konfigurace uživatele z
~/.vnc/config
soubor. Otevřete soubor a přidejte následující:vim ~/.vnc/config
session=gnome geometry=1920x1200 localhost alwaysshared
session
volba určuje relaci, kterou chcete zahájit, ageometry
volba určuje velikost plochy VNC.Uložte a zavřete soubor. Pokud přidáváte více uživatelů, opakujte stejný krok.
-
TigerVNC se dodává se souborem, který vám umožňuje namapovat uživatele na konkrétní port. Mapování se konfiguruje v
/etc/tigervnc/vncserver.users
soubor:sudo vim /etc/tigervnc/vncserver.users
Soubor používá
<display_port>=<username>
syntax. V níže uvedeném příkladu mapujeme port zobrazení:1
linuxovat uživatele. Pro přidání dalších uživatelů použijte stejný formát.# TigerVNC User assignment # # This file assigns users to specific VNC display numbers. # The syntax is <display>=<username>. E.g.: # # :2=andrew # :3=lisa :1=linuxize
:1
je číslo portu zobrazení, na kterém poběží server VNC. V našem případě server běží na TCP portu5901
(5900+1). Pokud mapujete jiného uživatele, například pro zobrazení portu:2
, bude server také naslouchat na portu5902
(5900+2).Důležité je pochopit, že při práci se servery VNC
:X
je zobrazovací port, který odkazuje na5900+X
.
Spuštění serveru Tigervnc #
Po dokončení konfigurace je posledním krokem spuštění serveru VNC.
Spuštění a povolení služby VNC pro uživatele mapovaného na zobrazovací port :1
, zadejte:
sudo systemctl enable vncserver@:1 --now
Server VNC bude naslouchat na portu 5901
, jak jsme diskutovali v předchozí části.
Úspěšné spuštění služby můžete ověřit pomocí:
sudo systemctl status vncserver@:1
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-12-17 21:49:41 UTC; 8s ago
...
Chcete-li povolit VNC pro ostatní uživatele, jednoduše nahraďte 1
s portem displeje namapovaným na uživatele.
Připojování k serveru VNC #
VNC není šifrovaný protokol a může být předmětem sniffování paketů. Doporučený přístup je vytvořit tunel SSH pro bezpečné předávání provozu z vašeho místního počítače na portu 5901
na vzdálený server na stejném portu.
Nastavit tunelování SSH v systémech Linux a macOS #
Pokud na svém počítači používáte Linux, macOS nebo jakýkoli jiný operační systém založený na Unixu, můžete snadno vytvořit tunel pomocí následujícího ssh
příkaz:
ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip
Budete vyzváni k zadání uživatelského hesla.
Nezapomeňte nahradit username
a server_ip_address
s vaším uživatelským jménem a IP adresou vašeho serveru.
Nastavit tunelování SSH v systému Windows #
Uživatelé Windows mohou nastavit SSH Tunneling pomocí PuTTY.
Otevřete Putty a zadejte IP adresu vašeho serveru do Host name or IP address
pole.
V části Connection
v nabídce rozbalte SSH
a vyberte Tunnels
. Zadejte port serveru VNC (5901
) v Source Port
zadejte server_ip_address:5901
v Destination
a klikněte na Add
tlačítko, jak je znázorněno na obrázku níže:
Vraťte se do Session
stránku pro uložení nastavení, abyste je nemuseli pokaždé zadávat. Chcete-li se přihlásit ke vzdálenému serveru, vyberte uloženou relaci a klikněte na Open
tlačítko.
Připojování pomocí Vncviewer #
Chcete-li se připojit ke vzdálenému serveru, otevřete prohlížeč VNC a zadejte localhost:5901
.
Pro Google Chrome můžete použít jakýkoli prohlížeč VNC, jako je TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre a VNC Viewer.
Používáme TigerVNC:
Po zobrazení výzvy zadejte heslo a měla by se zobrazit výchozí plocha Gnome. Mělo by to vypadat nějak takto:
A je to! Nyní můžete začít pracovat na vzdálené ploše z místního počítače pomocí klávesnice a myši.