Android

Hvordan installere og konfigurere vnc på centos 7

VNC Server Install in Linux | Remote Desktop Access | CentOS 8 / RHEL 8 | Tech Arkit

VNC Server Install in Linux | Remote Desktop Access | CentOS 8 / RHEL 8 | Tech Arkit

Innholdsfortegnelse:

Anonim

I denne opplæringen vil vi lede deg gjennom trinnene for å installere og konfigurere en VNC-server på et CentOS 7-system. Vi vil også vise deg hvordan du kan koble deg sikkert til VNC-serveren gjennom en SSH-tunnel.

Virtual Network Computing (VNC) er et grafisk skrivebordsdelingssystem som lar deg bruke tastaturet og musen til å fjernstyre en annen datamaskin.

Forutsetninger

Før du fortsetter med opplæringen, må du sørge for at du er logget inn som bruker med sudo-rettigheter. Vi antar at du er logget inn som en bruker som heter linuxize .

Installere Xfce Desktop Environment

CentOS-serverinstallasjoner kommer ofte ikke med et skrivebordsmiljø installert, så vi starter med å installere et lett skrivebordsmiljø.

I denne guiden installerer vi Xfce. Det er en rask, stabil og lite ressurs på systemer, noe som gjør den ideell for bruk på eksterne servere.

Xfce-pakker er tilgjengelige i EPEL-depotene. Hvis du ikke har EPEL-repository aktivert på serveren din, kan du gjøre det ved å skrive:

sudo yum install epel-release

Når depotet er lagt til, installerer Xfce på CentOS med:

sudo yum groupinstall xfce

Avhengig av systemet ditt, kan det ta litt tid å laste ned og installere Xfce-pakker og avhengigheter.

Installerer VNC Server

Vi bruker TigerVNC som vår valgte VNC-server. TigerVNC er en aktivt vedlikeholdt åpen kildekode VNC-server med høy ytelse.

Skriv inn følgende kommando for å installere TigerVNC på CentOS-serveren:

yum install tigervnc-server

Nå som VNC-serveren er installert, er neste trinn å kjøre vncserver kommandoen som vil lage den opprinnelige konfigurasjonen og sette opp passordet. Ikke bruk sudo når du kjører følgende kommando:

vncserver

Du blir bedt om å oppgi og bekrefte passordet og om du vil angi det som bare passord. Hvis du velger å sette opp et passord med bare visning, vil ikke brukeren kunne kommunisere med VNC-forekomsten med musen og tastaturet.

You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n /usr/bin/xauth: file /home/linuxize/.Xauthority does not exist New 'server2.linuxize.com:1 (linuxize)' desktop at:1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

Første gang vncserver kommandoen kjøres, vil den opprette og lagre passordfilen i ~/.vnc katalogen som vil bli opprettet hvis den ikke er til stede.

Legg merke til :1 etter vertsnavnet i utgangen over. Dette indikerer visningsportnummeret som vnc-serveren kjører på. I vårt tilfelle kjører serveren på TCP-port 5901 (5900 + 1). Hvis du oppretter en andre forekomst med vncserver , kjører den på neste gratisport, dvs :2 som betyr at serveren kjører på port 5902 (5900 + 2).

Det som er viktig å huske er at når du jobber med VNC-servere, er :X en skjermport som refererer til 5900+X

Før du fortsetter med neste trinn, må du først stoppe VNC-forekomsten ved å bruke vncserver kommandoen med et -kill alternativ og servernummeret som et argument. I vårt tilfelle kjører serveren i port 5901 ( :1 ), så vi stopper den med:

vncserver -kill:1

Killing Xvnc process ID 2432

Konfigurere VNC Server

Nå som både Xfce og TigerVNC er installert på CentOS-serveren vår, er neste trinn å konfigurere TigerVNC til å bruke Xfce. Åpne følgende fil for å gjøre det:

nano ~/.vnc/xstartup

Og endre den siste linjen fra exec /etc/X11/xinit/xinitrc til exec startxfce4 :

~ /.Vnc / xstartup

#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

Lagre og lukk filen. Skriptet over blir automatisk kjørt når du starter eller starter TigerVNC-serveren på nytt.

Her er et eksempel:

~ /.Vnc / config

# securitytypes=vncauth, tlsvnc # desktop=sandbox geometry=1920x1080 # localhost # alwaysshared dpi=96

Opprette en Systemd enhetsfil

Vi oppretter en systemd enhetsfil som gjør det mulig for oss å enkelt starte, stoppe og starte VNC-tjenesten på nytt etter behov, samme som alle andre systemd-tjenester.

Kopier vncserver-enhetsfilen med cp kommandoen:

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

Åpne filen med tekstredigereren og erstatt den med ditt faktiske brukernavn.

sudo nano /etc/systemd/system/vncserver@\:1.service /etc/systemd/system/vncserver@:1.service

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 linuxize -c "/usr/bin/vncserver %i" PIDFile=/home/linuxize/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' WantedBy=multi-user.target

Lagre og lukk filen. Gi beskjed til systemd om at vi opprettet en ny enhetsfil med:

sudo systemctl daemon-reload

Neste trinn er å aktivere enhetsfilen med følgende kommando:

sudo systemctl enable vncserver@:1.service

Tallet 1 etter @ -tegnet definerer skjermporten som VNC-tjenesten skal kjøres på, i vårt tilfelle som er standard 1 og VNC-serveren vil lytte på port 5901 som vi diskuterte i forrige seksjon.

Start VNC-tjenesten ved å utføre:

sudo systemctl start vncserver@:1.service

Kontroller at tjenesten er startet med:

sudo systemctl status vncserver@:1.service

● vncserver@:1.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2018-09-16 09:59:53 UTC; 4s ago Process: 6391 ExecStart=/usr/sbin/runuser -l linuxize -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS) Process: 6389 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 6413 (Xvnc) CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service ‣ 6413 /usr/bin/Xvnc:1 -auth /home/linuxize/.Xauthority -desktop server2.linuxize.com:1 (linuxize) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /home/linuxize/.vnc/passwd -rfbport…

Koble til VNC-server

VNC er ikke en kryptert protokoll og kan bli gjenstand for pakkesniffing. Den anbefalte tilnærmingen er å lage en SSH-tunnel som sikkert videresender trafikk fra din lokale maskin på port 5901 til serveren i samme port.

Konfigurer SSH-tunnel på Linux og macOS

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

Du blir bedt om å oppgi brukerpassordet.

Ikke glem å erstatte username og server_ip_address med brukernavnet og IP-adressen til serveren din.

Konfigurer SSH-tunnel på Windows

Åpne Kitt og angi IP-adressen til serveren din i Host name or IP address .

Du kan nå begynne å samhandle med det eksterne XFCE-skrivebordet fra din lokale maskin ved hjelp av tastatur og mus.

Konklusjon

Nå skal du ha en VNC-server i gang, og du kan enkelt administrere CentOS 7-serveren ved hjelp av et grafisk grensesnitt.

For å konfigurere VNC-serveren til å starte et skjermbilde for mer enn én bruker, oppretter du den opprinnelige konfigurasjonen og konfigurerer passordet ved hjelp av vncserver kommandoen og oppretter en ny tjenestefil ved å bruke en annen port.

Legg gjerne igjen en kommentar hvis du har spørsmål.

centos vnc