Hur man installerar och konfigurerar VNC Server i CentOS 7

I den här guiden förklarar vi hur man installerar och konfigurerar VNC Remote Access i den senaste utgåvan av CentOS 7 och RHEL 7 Desktop edition via tigervnc-server-programmet.

VNC (Virtual Network Computing) är ett server-klientprotokoll som gör det möjligt för användarkonton att fjärrkoppla upp och styra ett avlägset system med hjälp av resurser som tillhandahålls av det grafiska användargränssnittet.

I motsats till andra VNC-servrar som finns tillgängliga och som ansluter direkt till det körbara skrivbordet, såsom VNC X eller Vino, använder tigervnc-vncserver en annan mekanism som konfigurerar ett fristående virtuellt skrivbord för varje användare.

Krav

  1. CentOS 7 Installationsprocedur
  2. RHEL 7 Installationsprocedur

Steg 1: Installera och konfigurera VNC i CentOS 7

1. Tigervnc-server är ett program som utför en Xvnc-server och startar parallella sessioner av Gnome eller annan skrivbordsmiljö på VNC-skrivbordet.

En startad VNC-användarsession kan nås av samma användare från flera VNC-klienter. För att installera TigerVNC-server i CentOS 7 öppnar du en terminalsession och utför följande kommando med root-privilegier.

$ sudo yum install tigervnc-server

2. När du har installerat programmet loggar du in med den användare som du vill köra VNC-programmet och utför följande kommando i terminalen för att konfigurera ett lösenord för VNC-servern.

Visa att lösenordet måste vara minst sex tecken långt.

$ su - your_user # If you want to configure VNC server to run under this user directly from CLI without switching users from GUI$ vncpasswd

3. Lägg sedan till en konfigurationsfil för VNC-tjänsten för din användare via en konfigurationsfil för daemon som placeras i katalogträdet systemd. För att kopiera VNC-mallfilen måste du köra följande kommando med root-privilegier.

Om din användare inte har fått sudo-privilegier ska du antingen växla direkt till root-kontot eller köra kommandot från ett konto med root-privilegier.

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

4. I nästa steg redigerar du den kopierade konfigurationsfilen för VNC-mallen från katalogen /etc/systemd/system/ och byter ut -värdena så att de återspeglar din användare enligt exemplet nedan.

Värdet 1 efter @-tecknet representerar visningsnumret (port 5900+display). För varje påbörjad VNC-server ökas dessutom port 5900 med 1.

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

För att lägga till följande rader i filen file file vncserver@:1.service.

Description=Remote desktop service (VNC)After=syslog.target network.targetType=forkingExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'ExecStart=/sbin/runuser -l my_user -c "/usr/bin/vncserver %i -geometry 1280x1024"PIDFile=/home/my_user/.vnc/%H%i.pidExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'WantedBy=multi-user.target

5. När du har gjort rätt ändringar i VNC-tjänstfilen laddar du om systemd systeminitieringsprogrammet för att hämta den nya vnc-konfigurationsfilen och starta TigerVNC-servern.

Kontrollera också VNC-tjänstens status och aktivera VNC-daemon i hela systemet genom att utfärda nedanstående kommandon.

# systemctl daemon-reload# systemctl start vncserver@:1# systemctl status vncserver@:1# systemctl enable vncserver@:1
Start VNC-tjänsten

6. För att lista de öppnade portar i lyssningstillstånd som ägs av VNC-servern kör du kommandot ss, som används i CentOS 7 för att visa nätverkssocklar. Eftersom du bara har startat en instans av VNC-servern är den första öppna porten 5901/TCP.

Även här måste ss-kommandot köras med root-rättigheter. Om du startar andra VNC-instanser parallellt för olika användare kommer portvärdet att vara 5902 för den andra, 5903 för den tredje och så vidare. Portarna 6000+ används för att låta X-programmen ansluta till VNC-servern.

# ss -tulpn| grep vnc
Verifiera VNC-lyssnande portar

7. För att låta externa VNC-klienter ansluta till VNC-servern i CentOS måste du se till att rätt VNC-öppna portar tillåts passera genom din brandvägg.

Om bara en instans av VNC-servern startas behöver du bara öppna den första tilldelade VNC-porten: 5901/TCP genom att utfärda nedanstående kommandon för att tillämpa brandväggskonfigurationen vid körning.

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

Steg 2: Anslutning till CentOS Desktop via VNC-klient

8. Eftersom VNC är ett plattformsoberoende protokoll kan fjärranslutningar med grafiskt användargränssnitt utföras från nästan alla operativsystem med ett grafiskt gränssnitt och en specialiserad VNC-klient.

En populär VNC-klient som används i Microsoft-baserade operativsystem och som är helt kompatibel med Linux TigerVNC-server är RealVNC VNC Viewer.

För att fjärransluta till CentOS Desktop från ett Microsoft operativsystem via VNC-protokollet öppnar du VNC Viewer-programmet, lägger till IP-adressen och portnumret för CentOS VNC-server och trycker på tangenten.

När VNC-anslutningen har upprättats bör en varning om att anslutningen inte är krypterad visas på skärmen enligt nedanstående skärmdumpar.

VNC Viewer Client
VNC Viewer Client Connection

9. För att komma förbi varningen trycker du på knappen Fortsätt, lägger till lösenordet för VNC-servern i punkt 2 och du bör vara fjärransluten till CentOS Desktop med den användare som konfigurerats för att köra VNC-serverinstansen.

VNC Server User Password

VNC Remote CentOS Desktop

10. Om ett nytt autentiseringsmeddelande visas på skärmen och din användare inte har rooträttigheter trycker du bara på Avbryt-knappen för att fortsätta till CentOS-skrivbordet, vilket visas i skärmdumpen nedan.

VNC Server Authentication Warning

Visa att den etablerade VNC-kommunikationen mellan servern och klienten och alla data som utbyts (förutom lösenordet) går över en okrypterad kanal. För att kryptera och säkra VPN-dataöverföringen måste du först konfigurera en säker SSH-tunnel och köra all efterföljande VPN-trafik över SSH-tunneln.

11. För att fjärransluta till CentOS Desktop via VNC-protokollet från ett annat CentOS Desktop måste du först se till att vinagre-paketet är installerat på ditt system genom att utfärda kommandot nedan.

$ sudo yum install vinagre

12. För att öppna vinagre-verktyget går du till Program -> Verktyg -> Remote Desktop Viewer som visas i nedanstående skärmdump.

Öppna Vinagre-verktyget

13. För att fjärransluta till ett CentOS-skrivbord trycker du på knappen Anslut, väljer VNC-protokoll från listan och lägger till IP-adress och port (5900+visningsnummer) för fjärr-VNC-servern. Ange även lösenordet för VNC-användaren enligt följande skärmdumpar.

Välj fjärrskrivbordsprotokoll
Inställ detaljer om fjärr-VNC
Fjärr-VNC CentOS-dator

14. En annan populär VNC-klient för Linuxbaserade plattformar är Remmina, en fjärrskrivbordsklient som särskilt används i Debianbaserade distributioner som kör skrivbordsmiljön GNOME.

För att installera Remminas fjärrskrivbordsklient i Debianbaserade distributioner, ange följande kommando.

$ sudo apt-get install remmina

Steg 3: Konfigurera flera VNC-sessioner i CentOS 7

15. Om du behöver köra en ny parallell VNC-session under samma användare öppnar du en terminalkonsol, loggar in med den användare du vill starta den nya VNC-sessionen och utför nedanstående kommando.

När du startar servern för första gången kommer du att bli ombedd att ange ett nytt lösenord för den här sessionen. Var dock medveten om att den här sessionen körs med din inloggade användares behörigheter och oberoende av den startade systemd VNC-serversessionen.

$ vncserver
Start ny VNC-session

16. De nya VNC-sessionerna öppnar nästa tillgängliga VNC-baserade portar (5900+3 display i det här exemplet). För att visa de öppnade portarna utför du kommandot ss utan root-privilegier enligt nedanstående utdrag. Det listar endast de startade VNC-sessioner som din användare äger.

$ ss -tlpn| grep Xvnc
List VNC Open Ports

17. Anslut nu CentOS Desktop på distans med hjälp av den nya VNC-sessionen och ange kombinationen IP:port (192.168.1.23:5903) i VNC-klienten enligt bilden nedan.

Ansluta till VNC Remote Desktop

För att stoppa VNC-serverinstanserna som har startats med den inloggade användarens behörigheter, utför följande kommando utan root-rättigheter. Detta kommando kommer att förstöra alla startade VNC-instanser som endast ägs av den användare som angav dem.

$ su - your_user$ killall Xvnc

Läs också: Fjärranpassad installation av CentOS 7 eller RHEL 7 med VNC-läge

Det var allt! Du kan nu komma åt ditt CentOS 7-system och utföra administrativa uppgifter genom att använda det grafiska användargränssnittet som operativsystemet tillhandahåller.

Lämna ett svar

Din e-postadress kommer inte publiceras.