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
vncpasswdpříkaz pro nastavení hesla. Spusťte příkaz jako uživatel, který bude přistupovat k serveru VNC, nepoužívejtesudo:vncpasswdBudete 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é
vncpasswdje spuštěn, vytvoří a uloží soubor s hesly do~/.vncuživatele adresář.Password: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not usedPokud 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/configsoubor. Otevřete soubor a přidejte následující:vim ~/.vnc/configsession=gnome geometry=1920x1200 localhost alwayssharedsessionvolba určuje relaci, kterou chcete zahájit, ageometryvolba 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.userssoubor:sudo vim /etc/tigervnc/vncserver.usersSoubor používá
<display_port>=<username>syntax. V níže uvedeném příkladu mapujeme port zobrazení:1linuxovat 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:1je čí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
:Xje 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.