Com instal·lar i configurar el servidor VNC a Ubuntu


Virtual Network Computing (VNC) és un sistema gràfic d'escriptori molt utilitzat que permet als comptes d'usuari connectar i controlar de forma remota la interfície d'escriptori d'un ordinador des d'un altre ordinador o dispositiu mòbil.

En aquest article, explicarem com instal·lar i configurar un servidor VNC en una edició d'escriptori Ubuntu 18.04 mitjançant el programa tigervnc-server.

VNC Server: 192.168.56.108
VNC Client: 192.168.56.2

Instal·leu un entorn d'escriptori a Ubuntu

Com he dit, VNC és un sistema per compartir escriptori, de manera que necessiteu tenir un entorn d'escriptori instal·lat al vostre servidor Ubuntu. Podeu instal·lar el DE que trieu executant les ordres adequades a continuació. Als efectes d'aquest article, instal·larem Ubuntu Gnome (sabor oficial).

$ sudo apt-get install ubuntu-desktop		#Default Ubuntu desktop
$ sudo apt install ubuntu-gnome-desktop	        #Ubuntu Gnome (Official flavor)
$ sudo apt-get install xfce4			#LXDE
$ sudo apt-get install lxde			#LXDE
$ sudo apt-get install kubuntu-desktop		#KDE

Instal·leu i configureu un VNC a Ubuntu

Tigervnc-server és un programa VNC multiplataforma d'alta velocitat que executa un servidor Xvnc i inicia sessions paral·leles de Gnome o un altre entorn d'escriptori a l'escriptori VNC.

Per instal·lar el servidor TigerVNC i altres paquets associats a Ubuntu, executeu l'ordre següent.

$ sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Ara inicieu el servidor VNC executant l'ordre vncserver com a usuari normal. Aquesta acció crearà la configuració inicial emmagatzemada al directori $HOME/.vnc i també us demanarà que configureu una contrasenya d'inici de sessió.

Introduïu una contrasenya (que ha de tenir almenys sis caràcters) i confirmeu-la/verifiqueu-la. A continuació, configureu una contrasenya de només visualització si voleu, de la manera següent.

$ vncserver
$ ls -l ~/.vnc 

A continuació, hem de configurar el DE perquè funcioni amb el servidor VNC. Per tant, atureu el servidor VNC amb l'ordre següent per dur a terme algunes configuracions.

$ vncserver -kill :1

Per configurar el GNOME o qualsevol escriptori que tingueu instal·lat, creeu un fitxer anomenat xstartup al directori de configuracions amb el vostre editor de text preferit.

$ vi ~/.vnc/xstartup

Afegiu les línies següents al fitxer. Aquestes ordres s'executaran automàticament sempre que inicieu o reinicieu el servidor TigerVNC. Tingueu en compte que les ordres poden variar segons el DE que hàgiu instal·lat.

#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

Deseu el fitxer i configureu el permís adequat al fitxer perquè es pugui executar.

$ chmod 700 ~/.vnc/xstartup

A continuació, inicieu el servidor VNC executant l'ordre següent com a usuari normal. Establiu els vostres propis valors per a la geometria de visualització. A més, utilitzeu el senyalador -localhost per permetre connexions només des del localhost i, per analogia, només dels usuaris autenticats al servidor.

A més, VNC utilitza per defecte el port TCP 5900+N, on N és el número de visualització. En aquest cas, el :1 significa que el servidor VNC s'executarà al port de visualització número 5901.

$ vncserver :1 -localhost -geometry 1024x768 -depth 32

Per llistar les sessions del servidor VNC al vostre sistema, executeu l'ordre següent.

$ vncserver -list

Un cop s'hagi iniciat el servidor VNC, comproveu el port on s'està executant amb l'ordre netstat.

$ netstat -tlnp

Connexió al servidor VNC mitjançant el client VNC

En aquesta secció, mostrarem com connectar-se al servidor VNC, però abans d'entrar-hi, cal que sàpigues que per defecte VNC no és segur per defecte (no és un protocol xifrat i pot estar subjecte a l'sniffing de paquets). . Aquest problema es pot solucionar creant un túnel des de la connexió del client al servidor mitjançant SSH.

Mitjançant el túnel SSH, podeu reenviar de manera segura el trànsit des de la vostra màquina local al port 5901 al servidor VNC del mateix port.

A la màquina client Linux, obriu una nova finestra de terminal i executeu l'ordre següent per crear un túnel SSH al servidor VNC.

$ ssh -i ~/.ssh/ubuntu18.04 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.108

A continuació, instal·leu el client vncviewer com ara TigerVNC Viewer de la manera següent (podeu instal·lar qualsevol altre client que trieu).

$ sudo apt install tigervnc-viewer		#Ubuntu/Debian
$ sudo yum install tigervnc-viewer		#CnetOS/RHEL
$ sudo yum install tigervnc-viewer		#Fedora 22+
$ sudo zypper install tigervnc-viewer	        #OpenSUSE
$ sudo pacman -S tigervnc			#Arch Linux

Un cop finalitzada la instal·lació, executeu el vostre client VNC, especifiqueu l'adreça localhost:5901 per connectar-vos a la pantalla 1 de la següent manera.

$ vncviewer localhost:5901

Alternativament, obriu-lo des del menú del sistema, introduïu l'adreça de dalt i feu clic a Connecta.

Se us demanarà que introduïu la contrasenya d'inici de sessió de VNC creada anteriorment, la introduïu i feu clic a D'acord per continuar.

Si la contrasenya és correcta, arribareu a la interfície d'inici de sessió del vostre escriptori. Introduïu la vostra contrasenya per accedir a l'escriptori.

Atenció: si sou conscient de la seguretat, és possible que hàgiu notat que el visualitzador VNC mostra \connexió no xifrada tot i que hem habilitat el túnel SSH.

Això es deu al fet que està dissenyat per utilitzar esquemes de seguretat específics diferents del túnel SSH quan s'intenta autenticar amb el servidor. Tanmateix, la connexió és segura un cop hàgiu habilitat el túnel SSH.

Creació d'un fitxer d'unitat Systemd per al servidor TigerVNC

Per gestionar el servidor VNC amb systemd, és a dir, iniciar, aturar i reiniciar el servei VNC segons sigui necessari, hem de crear un fitxer d'unitat al directori /etc/systemd/system/, amb privilegis d'arrel.

$ sudo vim /etc/systemd/system/[email 

A continuació, afegiu les línies següents al fitxer:

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=simple 
User=tecmint 
PAMName=login 
PIDFile=/home/%u/.vnc/%H%i.pid 
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1024x768 
ExecStop=/usr/bin/vncserver -kill :%i 

[Install] 
WantedBy=multi-user.target

Deseu el fitxer i tanqueu-lo.

A continuació, torneu a carregar la configuració del gestor de systemd per llegir el fitxer d'unitat creat recentment, de la manera següent.

$ sudo systemctl daemon-reload

A continuació, inicieu el servei VNC, activeu-lo perquè s'iniciï automàticament a l'arrencada del sistema i comproveu-ne l'estat tal com es mostra.

$ sudo systemctl start [email 
$ sudo systemctl enable [email 
$ sudo systemctl status [email 

Això és tot! En aquest article, hem explicat com instal·lar i configurar el servidor VNC a la distribució Ubuntu Linux. Comparteix les teves consultes o pensaments amb nosaltres mitjançant el formulari de comentaris a continuació.