i denne veiledningen vil vi se på hvordan du installerer OG konfigurerer En vnc-server På CentOS 7.x operativsystem for å tillate eksterne tilkoblinger fra NOEN vnc klienter, som TightVNC, RealVNC, og andre. Spesielt vil vi gjøre dette ved Hjelp Av TigerVNC Server-programvaren, et gratis verktøy som tillater bruk av et frittstående virtuelt skrivebord.
Introduksjon
Vnc (Virtual Network Computing) er en klient-server-protokoll som gjør det mulig for en klientdatamaskin (som kjører EN VNC-klient) å koble til og kontrollere en ekstern datamaskin (som kjører PÅ EN vnc-server). Programvaren ble utviklet av Olivetti & Oracle research lab I Cambridge, STORBRITANNIA, og kildekoden er fortsatt oppdatert og tilgjengelig under General Public License (GNU).avhengig av serverprogramvaren vil vnc-klienten koble til det aktive skrivebordet (for Eksempel Som TeamViewer-eller AnyDesk-programmer) eller et frittstående virtuelt skrivebord (Som Windows RDP remote desktop protocol). Sistnevnte, kanskje kraftigere og sikrere, spesielt hvis du trenger å administrere serverdatamaskinen fordi hver økt vil være et unikt miljø, konfigurert med tillatelser og rettigheter til den tilkoblede brukeren. Derfor velger Vi TigerVNC, som kjører parallelle økter i skrivebordsmiljøet på datamaskinen (GNOME, KDE eller en ANNEN GUI): dette betyr at et virtuelt skrivebord vil bli opprettet for hver tilkobling-dette er akkurat det vi ønsker.
Installere TigerVNC
la Oss nå se hvordan Vi kan installere Og konfigurere TigerVNC På CentOS. Det første du må gjøre er å installere TigerVNC Server-programmet ved å åpne en terminal økt og skrive inn følgende kommando med root privilegier:
$ sudo yum install tigervnc-server
Umiddelbart etter det må du opprette en egen vnc-bruker som forbindelsen vil bli gjort (med et dedikert passord). For å gjøre dette, skriv inn følgende:
$ sudo adduser vncuser
$ sudo passwd vncuser
Viktig: gjør aldri dette som en rotbruker — dette vil utgjøre en alvorlig trussel mot sikkerheten til systemet ditt. Den beste løsningen ville være å forlate rotbrukeren uten tilgang TIL VNC og sette opp en dedikert konto med begrensede rettigheter.
etter at du har opprettet vnc og satt et passord for å logge inn, må du også angi et unikt vnc-passord for denne brukeren. Kommandoen for å gjøre dette er:
$ su - vncuser
$ vncpasswd
(den første linjen kan utelates hvis vi allerede er logget inn som vncuser på forhånd).
den neste tingen å gjøre er å lage EN vnc konfigurasjonsfil for vnc. Den raskeste måten å gjøre dette på er å kopiere den delte vnc-malfilen i/lib/systemd/ system / – mappen, og deretter endre den:
$ cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
tallet 1 som vi la til i det nye filnavnet, er visningsnummeret som skal brukes til denne spesielle forekomsten av tjenesten. Dette er viktig å vite fordi DET også vil bestemme TCP-porten som skal brukes av VÅR vnc-server, lik 5900 + visningsnummer. Den første blir 5901, deretter 5902 og så videre.Umiddelbart etter kopiering må du redigere den nye filen Ved Hjelp Av Vi, Nano eller en annen tekstredigerer, og erstatte med navnet på brukeren som er opprettet nylig (i vårt tilfelle vncuser). Slik skal filen se etter oppdateringen (unntatt den lange kommenterte delen i begynnelsen):
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 gjør dette, kan DU laste VNC-demonen på nytt og kjøre vnc @ 1 med følgende kommandoer:
$ systemctl daemon-reload
$ systemctl start vncserver@:1
og opprett en symbolsk lenke slik at den alltid kjører ved systemstart ved hjelp av følgende kommando:
$ systemctl enable vncserver@:1
en annen test som du kan utføre før du prøver å koble til serveren, er å se på de aktive nettverkskontaktene ved hjelp av thesscommand: hvis alt fungerer riktig, bør DU se AT vnc-serveren fungerer og bruker TCP-port 5901. Utfø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 satt opp riktig.
Brannmuroppsett
siden vnc-tjenesten lytter PÅ TCP-port 5901, må du være sikker på at en slik port er åpen og tilgjengelig for eksterne klienter. Derfor, hvis du har en brannmur installert, må du opprette en passende regel som gjør AT VNC-klienter kan koble til.
Hvor mange porter som skal åpnes, avhenger av HVOR MANGE VNC – serverforekomster du trenger. I vårt scenario gjorde vi bare 1, så du trenger bare å åpne den første dedikerte vnc-porten: TCP 5901, som vi allerede sa. Kommandoen for å åpne denne porten På Firewalld:
# firewall-cmd --add-port = 5901 / tcp
# firewall-cmd --add-port = 5901 / tcp --permanent
det vil ikke være overflødig å nevne at du også kan begrense denne porten til bestemte grupper, IP-adresser, nettverkskort eller andre enkle eller komplekse brannmurregler.
Installere det grafiske brukergrensesnittet (GUI)
hvis DU ALLEREDE HAR GNOME, KDE eller andre installerte skrivebordsmiljøer, kan du hoppe over dette trinnet. Ellers må du installere en av dem: TigerVNC-serveren starter en parallell forekomst av dette skrivebordsmiljøet for hver påloggingsøkt, noe som betyr at vi må ha minst EN GUI.
GNOME
hvis du vil ha et flott, men tungt GNOME-grensesnitt, skriv inn følgende:
$ sudo yum groupinstall "GNOME Desktop"
Xfce
Hvis du trenger en lett alternativ, kan Vi tilby Xfce, en gratis, åpen kildekode miljø For Unix-lignende plattformer som fungerer bra med TigerVNC. GNOME fungerer også bra, men det er ganske ressurskrevende: Hvis Du vil spare ressurser på servermaskinen din, Kan Xfce være Det beste valget. For å installere det, skriv inn følgende:
$ yum install epel-release
$ yum groupinstall xfce
Tilleggsinnstillinger For Xfce
hvis Du bestemmer deg for Å bruke Xfce, må du også endre filen som ble utført da vnc-økten startet. For å gjøre dette, rediger filen / home / < bruker >/.vnc/xstartup og endre exec-oppføringen (vanligvis linje 4) fra etc/X11/xinit/xinitrc til startxfce4, som vist nedenfor:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
vncserver -kill $DISPLAY
vnc client connection
nå som alt er satt opp, kan vi prøve å koble til vår vnc-tjeneste ved hjelp av En vnc-klient, som TightVNC, UltraVNC eller realvnc, og se hva som skjer. Husk å spesifisere TCP port 5901 (hvis du fulgte vår guide).
Mulige problemer
hvis klienten ikke kan opprette en fungerende vnc-tilkobling, må du sjekke følgende:
1. Tilkoblingsproblemer-Brannmurkonfigurasjon: hvis du ser popup-feil som klienten ikke kan koble til den eksterne verten, må du kontrollere nettverk-og brannmurkonfigurasjonen for å sikre at det ikke er noen blokkeringsproblemer som kan hindre klienten i å koble TIL TCP-serverport 5901.
2. Svart skjerm med musen-oppdatere YUM eller installere GUI: hvis du ser en svart skjerm med en fungerende musemarkør, betyr det sannsynligvis at vnc-tilkoblingen fungerer bra, men det er noe som forhindrer AT GUI starter riktig skrivebord. For korreksjon:
- Kjør yum update for å installere de nyeste versjonene Av TigerVNC og GUI selv. Sørg for å holde oversikt over eventuelle problemer som oppstår under installasjonsfasen.Avinstaller OG installer GUI på nytt ved hjelp av kommandoen yum remove / yum group remove and yum groupinstall again. Hvis det fortsatt ikke fungerer, kan du prøve å installere en annen GUI.
+1 302 498-83-59
IT-GRAD NL B. V.
+1 302 498-83-59
It-Grad Nl b. v.