VPS ON – Debian 10 – Instalace VNC Serveru

Úvod

Virtual Network Computing (VNC) je systém připojení, který umožňuje používat klávesnici a myš k interakci s grafickým prostředím na vzdáleném serveru. Usnadňuje správu souborů, softwaru a nastavení na vzdáleném serveru uživatelům, kteří ještě nejsou s příkazovým řádkem spokojeni

V této příručce nastavíte server VNC na serveru Debian 10 a připojíte se k němu bezpečně přes tunel SSH. Použijete rychlý a lehký balíček dálkového ovládání TightVNC. Tato volba zajistí, že naše připojení VNC bude hladké a stabilní i při pomalejším připojení k internetu.

Krok 1 – Instalace pracovního prostředí a serveru VNC

Na serveru aktualizujte seznam balíčků:
$ sudo apt update

Nainstalujte si na svůj počítač desktopové prostředí Xfce:
$ sudo apt install xfce4 xfce4-goodies

Po dokončení instalace nainstalujte TightVNC server:
$ sudo apt install tightvncserver

K dokončení počáteční konfigurace serveru VNC po instalaci použijte příkaz vncserver k nastavení zabezpečeného hesla a vytvoření počátečních konfiguračních souborů:
$ vncserver

Budete vyzváni k zadání a ověření hesla pro vzdálený přístup k vašemu vps serveru:

Výstup
You will require a password to access your desktops.
Password:
Verify:

Heslo musí být dlouhé od šesti do osmi znaků.
Hesla více než 8 znaků budou automaticky zkrácena.

Po ověření hesla budete mít možnost vytvořit heslo pouze pro zobrazení. Uživatelé, kteří se přihlásí pomocí hesla pouze pro zobrazení, nebudou moci ovládat instanci VNC pomocí myši nebo klávesnice.
Toto je užitečná možnost, pokud chcete něco ukázat ostatním lidem, kteří používají váš VNC server, ale to není nutné.

Výstup
Would you like to enter a view-only password (y/n)? n
xauth: file /home/jakub/.Xauthority does not exist

New 'X' desktop is vas_hostname:1

Creating default startup script /home/jakub/.vnc/xstartup
Starting applications specified in /home/jakub/.vnc/xstartup
Log file is /home/jakub/.vnc/vas_hostname:1.log

Nyní nakonfigurujeme server VNC.

Krok 2 – Konfigurace VNC serveru

VNC server musí vědět, které příkazy se mají spustit při spuštění. Konkrétně VNC potřebuje vědět, ke které grafické ploše by se měl připojit.

Tyto příkazy jsou umístěny v konfiguračním souboru nazvaném xstartup ve složce .vnc ve vašem domovském adresáři. Spouštěcí skript byl vytvořen, když jste v předchozím kroku spustili příkaz vncserver, ale vytvoříme si vlastní, abychom spustili plochu Xfce.

$ vncserver -kill :1
Výstup by měl vypadat takto, i když uvidíte jiný PID:
Výstup
Killing Xtightvnc process ID 17648

Před úpravou souboru xstartup zálohujte originál:
$ mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Nyní vytvořte nový soubor xstartup a otevřete jej v textovém editoru:
$ nano ~/.vnc/xstartup
Příkazy v tomto souboru jsou prováděny automaticky při každém spuštění nebo restartování VNC serveru. Potřebujeme VNC, abychom spustili naše desktopové prostředí, pokud ještě nebylo spuštěno. Přidejte do souboru tyto příkazy:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Aby se zajistilo, že server VNC bude schopen tento nový spouštěcí soubor správně používat, musíme jej spustit.
$ sudo chmod +x ~/.vnc/xstartup

Nyní restartujte VNC server:
$ vncserver

Uvidíte výstup podobný tomuto:
Výstup
New 'X' desktop is your_hostname:1

Starting applications specified in /home/jakub/.vnc/xstartup
Log file is /home/jakub/.vnc/vas_hostname:1.log

Když je konfigurace hotová, připojme se k serveru z našeho místního počítače.

Krok 3 – Bezpečné připojení VNC plochy

Samotný VNC při připojení nepoužívá zabezpečené protokoly. K bezpečnému připojení k našemu serveru použijeme tunel SSH a potom řekneme našemu klientovi VNC, aby tento tunel používal spíše než přímé připojení.

Vytvořte připojení SSH na místním počítači, které bezpečně přepne na připojení localhost pro VNC. Můžete to provést prostřednictvím terminálu v systému Linux nebo MacOS pomocí následujícího příkazu:

$ ssh -L 5901:127.0.0.1:5901 -C -N -l jakub ip_vašeho_vps

Nyní se můžeme připojit k VNC.
Připojíme se za pomocí aplikace VeNCrypt Viewer.

Host: ip_vašeho_vps:5901
Heslo: krok 1

Pokud Vám nebude fungovat, zkuste povolit ještě firewall,
ufw allow 5901
ufw allow vnc

Snad Vám návod pomohl, pokud máte nějaké připomínky nebo problém, klidně mě kontaktujte.
– Jakub Šarm