Maybaygiare.org

Blog Network

Installation og konfiguration af en VNC-server på CentOS 7

13.07.2020

i denne vejledning vil vi se på, hvordan du installerer og konfigurerer en VNC-server på CentOS 7.fjernforbindelser fra alle VNC-klienter, såsom TightVNC, RealVNC og andre. Især vil vi gøre dette ved hjælp af TigerVNC-serverprogrammet, et gratis værktøj, der tillader brug af et enkeltstående virtuelt skrivebord.

introduktion

VNC (virtuel Netværksberegning) er en klientserverprotokol, der gør det muligt for en klientcomputer (der kører en VNC-klient) at forbinde og styre en fjerncomputer (kører på en VNC-server). Programmet blev udviklet af Olivetti & Oracle research lab i Cambridge, UK, og dets kildekode er stadig opdateret og tilgængelig under General Public License (GNU).

afhængigt af serverprogrammet opretter VNC-klienten forbindelse til det aktive skrivebord (f.eks. Sidstnævnte, måske mere kraftfuld og sikker, især hvis du har brug for at administrere servercomputeren, fordi hver session vil være et unikt miljø, konfigureret med tilladelser og rettigheder for den tilsluttede bruger. Derfor vælger vi TigerVNC, som kører parallelle sessioner af computerens skrivebordsmiljø (GNOME, KDE eller en anden GUI): det betyder, at der oprettes et virtuelt skrivebord til hver forbindelse — det er præcis det, vi ønsker.

installation af TigerVNC

lad os nu se, hvordan vi kan installere og konfigurere TigerVNC på CentOS. Den første ting at gøre er at installere TigerVNC-serverprogrammet ved at åbne en terminalsession og indtaste følgende kommando med rodrettigheder:

$ sudo yum install tigervnc-server

umiddelbart derefter skal du oprette en separat VNC-bruger, hvorfra forbindelsen oprettes (med en dedikeret adgangskode). For at gøre dette skal du indtaste følgende:

$ sudo adduser vncuser
$ sudo passwd vncuser

vigtigt: gør aldrig dette som rodbruger — dette vil udgøre en alvorlig trussel mod dit systems sikkerhed. Den bedste løsning ville være at forlade rodbrugeren uden adgang til VNC og oprette en dedikeret konto med begrænsede rettigheder.

når du har oprettet vncuser og indstillet en adgangskode til at logge ind, skal du også indstille en unik VNC-adgangskode til denne bruger. Kommandoen til at gøre dette er:

$ su - vncuser
$ vncpasswd

(den første linje kan udelades, hvis vi allerede er logget ind som vncuser på forhånd).

Den næste ting at gøre er at oprette en VNC-konfigurationsfil til vncuser. Den hurtigste måde at gøre dette på er at kopiere den delte VNC-skabelonfil, der findes i mappen /lib/systemd/system/, og derefter ændre den:

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

nummeret 1, som vi tilføjede til det nye filnavn, er displaynummeret, der vil blive brugt til denne særlige forekomst af tjenesten. Dette er vigtigt at vide, fordi det også bestemmer den TCP-port, der vil blive brugt af vores VNC-server, svarende til 5900 + displaynummer. Den første bliver 5901, derefter 5902 og så videre.

umiddelbart efter kopiering skal du redigere den nye fil ved hjælp af Vi, Nano eller en anden teksteditor og erstatte med navnet på den bruger, der blev oprettet for nylig (i vores tilfælde vncuser). Sådan skal filen se efter opdateringen (undtagen den lange kommenterede del i begyndelsen):


Description=Remote desktop service (VNC)
After=syslog.target network.target
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i -geometry 1280x720"
PIDFile=/home/vncuser/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

WantedBy=multi-user.target

når du har gjort dette, kan du genindlæse VNC-dæmonen og køre vncserver @ 1 med følgende kommandoer:

$ systemctl daemon-reload
$ systemctl start vncserver@:1

inden du fortsætter, skal du kontrollere, at tjenesten kører ved at indtaste systemctl-statuskommandoen:

$ systemctl status vncserver@:1

og opret et symbolsk link, så det altid kører ved systemstart ved hjælp af følgende kommando:

$ systemctl enable vncserver@:1

en anden test, som du kan udføre, før du prøver at oprette forbindelse til serveren, er at se på de aktive netværksstik ved hjælp af thesscommand: hvis alt fungerer korrekt, skal du se, at VNC-serveren fungerer og bruger TCP-port 5901. Udfør kommandoen:

$ ss -tulpn| grep vnc

resultatet skal være som følger:

tcp LISTEN 0 5 *:5901 *:* users:(("Xvnc",pid=38344,fd=9))
tcp LISTEN 0 128 *:6001 *:* users:(("Xvnc",pid=38344,fd=6))
tcp LISTEN 0 5 :::5901 :::* users:(("Xvnc",pid=38344,fd=10))
tcp LISTEN 0 128 :::6001 :::* users:(("Xvnc",pid=38344,fd=5))

Hvis du ser dette, er alt konfigureret korrekt.

opsætning af Brandvæg

da vores VNC-tjeneste lytter på TCP-port 5901, skal du være sikker på, at en sådan port er åben og tilgængelig for eksterne klienter. Derfor, hvis du har en brandvæg installeret, skal du oprette en passende regel, der gør det muligt for VNC-klienter at oprette forbindelse.

hvor mange porte der skal åbnes afhænger af, hvor mange VNC-serverinstanser du har brug for. I vores scenario gjorde vi kun 1, så du behøver kun at åbne den første dedikerede VNC-port: TCP 5901, som vi allerede har sagt. Kommandoen til at åbne denne port på Firevalld:

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

det vil ikke være overflødigt at nævne, at du også kan begrænse denne port til bestemte grupper, IP-adresser, netværkskort eller andre enkle eller komplekse brandvægsregler.

installation af den grafiske brugergrænseflade (GUI)

Hvis du allerede har GNOME, KDE eller andre installerede skrivebordsmiljøer, kan du springe dette trin over. Ellers skal du installere en af dem: TigerVNC-serveren starter en parallel forekomst af dette skrivebordsmiljø for hver login-session, hvilket betyder, at vi skal have mindst en GUI.

GNOME

Hvis du vil have en stor, men tungvægtig GNOME-grænseflade, skal du indtaste følgende:

$ sudo yum groupinstall "GNOME Desktop"

hvis du har brug for et letvægtsalternativ, kan vi tilbyde et gratis open source-miljø til unikke platforme, der fungerer godt med TigerVNC. GNOME fungerer også godt, men det er ganske ressourceintensive: hvis du vil spare ressourcer på din servermaskine, kan det være det bedste valg. For at installere det skal du indtaste følgende:

$ yum install epel-release
$ yum groupinstall xfce

yderligere indstillinger for Hfce

Hvis du beslutter dig for at bruge Hfce, skal du også ændre den fil, der blev udført, da VNC-sessionen startede. For at gøre dette skal du redigere filen /home/<bruger>/.4) Fra etc / H11/hinit / hinitrc til at starteksfce4, som vist nedenfor:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
vncserver -kill $DISPLAY

VNC-klientforbindelse

nu hvor alt er konfigureret, kan vi prøve at oprette forbindelse til vores VNC-tjeneste ved hjælp af en VNC-klient, såsom TightVNC, UltraVNC eller RealVNC, og se hvad der sker. Husk at angive TCP-port 5901 (hvis du fulgte vores guide).

mulige problemer

Hvis din klient ikke kan oprette en fungerende VNC-forbindelse, skal du kontrollere følgende:

1. Hvis du ser pop op-fejl, som klienten ikke kan oprette forbindelse til den eksterne vært, skal du kontrollere dit netværk og din konfiguration for at sikre dig, at der ikke er nogen blokeringsproblemer, der kan forhindre klienten i at oprette forbindelse til TCP-serverport 5901.

2. Sort skærm med musen-opdatering YUM eller geninstallere GUI: hvis du ser en sort skærm med en fungerende musemarkør, betyder det sandsynligvis, at din VNC-forbindelse fungerer fint, men der er noget, der forhindrer GUI i at starte korrekt desktop. Til korrektion:

  • Kør yum update for at installere de nyeste versioner af TigerVNC og selve GUI ‘ en. Sørg for at holde styr på eventuelle problemer, der opstår i installationsfasen.
  • Fjern og geninstaller GUI ‘ en ved hjælp af kommandoen Yum remove / yum group remove og Yum groupinstall igen. Hvis der stadig ikke fungerer noget, kan du prøve at installere en anden GUI.
19703 Claymont 2093 Philadelphia Pike #2345, USA

+1 302 498-83-59

700 300

IT-GRAD NL B. V.

19703 Claymont 2093 Philadelphia Pike #2345, USA

+1 302 498-83-59

700 300

it-grad nl B. V.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.