Virtual Network Computing (VNC) er et grafisk desktop-delingssystem, der giver dig mulighed for at bruge dit tastatur og din mus til at styre en anden computer eksternt. Det er et open source-alternativ til Microsoft Remote Desktop Protocol (RDP).
Denne artikel forklarer, hvordan du installerer og konfigurerer en VNC-server på Ubuntu 20.04. Vi viser dig også, hvordan du sikkert opretter forbindelse til VNC-serveren via en SSH-tunnel.
Installation af skrivebordsmiljø #
Ubuntu-servere administreres fra kommandolinjen og har ikke et desktopmiljø installeret som standard. Hvis du kører desktopversionen af Ubuntu, skal du springe dette trin over.
Der er forskellige skrivebordsmiljøer tilgængelige i Ubuntu-arkiver. En mulighed er at installere Gnome, som er standard-skrivebordsmiljøet i Ubuntu 20.04. En anden mulighed er at installere Xfce . Det er et hurtigt, stabilt og let skrivebordsmiljø, hvilket gør det ideelt til brug på en fjernserver.
I denne vejledning installerer vi Xfce. Indtast følgende kommandoer som en bruger med sudo-privilegier:
sudo apt opdatering
sudo apt installer xfce4 xfce4-godbidder
Afhængigt af dit system kan det tage lidt tid at downloade og installere Xfce-pakker.
Installation af VNC Server #
Der er flere forskellige VNC-servere tilgængelige i Ubuntu-arkiver, såsom TightVNC, TigerVNC og x11vnc . Hver VNC-server har forskellige styrker og svagheder med hensyn til hastighed og sikkerhed.
Vi installerer TigerVNC. Det er en aktivt vedligeholdt højtydende VNC-server. Skriv følgende kommando for at installere pakken:
sudo apt installer tigervnc-standalone-server
Konfiguration af VNC Access #
Når VNC-serveren er installeret, er det næste trin at oprette den indledende brugerkonfiguration og opsætte adgangskoden.
Indstil brugeradgangskoden ved hjælp af vncpasswd
kommando. Brug ikke sudo, når du kører kommandoen nedenfor:
vncpasswd
Du bliver bedt om at indtaste og bekræfte adgangskoden, og om du skal indstille den som en adgangskode, der kun kan vises. Hvis du vælger at oprette en adgangskode, der kun kan vises, kan brugeren ikke interagere med VNC-forekomsten med musen og tastaturet.
Adgangskode: Bekræft: Vil du indtaste en adgangskode, der kun kan ses (å / å)? n
Adgangskodefilen er gemt i ~ /.vnc
katalog, som oprettes, hvis den ikke er til stede.
Dernæst skal vi konfigurere TigerVNC til at bruge Xfce. For at gøre det skal du oprette følgende fil:
~ /.vnc / xstartupnano ~ /.vnc / xstartup
#!/ bin / sh frakoblet SESSION_MANAGER frakoblet DBUS_SESSION_BUS_ADDRESS exec startxfce4
Gem og luk filen. Ovenstående kommandoer udføres automatisk, hver gang du starter eller genstarter TigerVNC-serveren.
Det ~ /.vnc / xstartup
filen skal også have eksekveringstilladelser. Brug chmod
kommando for at indstille filtilladelserne:
chmod u + x ~ /.vnc / xstartup
Hvis du har brug for at videregive yderligere muligheder til VNC-serveren, skal du oprette en fil med navnet config
og tilføj en mulighed pr. linje. Her er et eksempel:
geometri = 1920x1080 dpi = 96
Du kan nu starte VNC-serveren ved hjælp af vncserver
kommando:
vncserver
Ny server2.Linuxize.com: 1 (linuxize) 'desktop ved: 1 på maskinserver2.Linuxize.com Start applikationer specificeret i / home / linuxize /.vnc / xstartup logfil er / home / linuxize /.vnc / server2.Linuxize.com: 1.log Brug xtigervncviewer -SecurityTypes VncAuth -passwd / home / linuxize /.vnc / passwd: 1 for at oprette forbindelse til VNC-serveren.
Bemærk : 1
efter værtsnavnet i output ovenfor. Dette angiver nummeret på den skærmport, som vnc-serveren kører på. I dette eksempel kører serveren på TCP-port 5901
(5900 + 1). Hvis du opretter en anden forekomst med vncserver
det kører på den næste gratis port i.e : 2
, hvilket betyder, at serveren kører på port 5902
(5900 + 2).
Hvad der er vigtigt at huske er, at når man arbejder med VNC-servere, :X
er en skærmport, der refererer til 5900 + X
.
Du kan få en liste over alle de nuværende VNC-sessioner ved at skrive:
vncserver -liste
TigerVNC-serversessioner: X DISPLAY # RFB PORT # PROCESS ID: 1 5901 5710
Inden du fortsætter med det næste trin, skal du stoppe VNC-forekomsten ved hjælp af vncserver
kommando med en -dræbe
indstilling og servernummer som argument. I dette eksempel kører serveren i port 5901 (: 1
), så vi stopper det med:
vncserver -kill: 1
Dræber Xtigervnc proces ID 5710 ... succes!
Oprettelse af en Systemd-enhedsfil #
I stedet for manuelt at starte VNC-sessionen, lad os oprette en systemd-enhedsfil, så du starter, stopper og genstarter VNC-tjenesten efter behov.
Åbn din teksteditor, og kopier og indsæt følgende konfiguration i den. Sørg for at ændre brugernavnet på linje 7 for at matche dit brugernavn.
sudo nano / etc / systemd / system / vncserver @.service
/ etc / systemd / system / vncserver @.service[Enhed] Beskrivelse = Remote desktop service (VNC) After = syslog.målnetværk.mål [Service] Type = enkel bruger = linuxize PAMName = login PIDFile = / home /% u /.vnc /% H% i.pid ExecStartPre = / bin / sh -c '/ usr / bin / vncserver -kill:% i> / dev / null 2> & 1 || : 'ExecStart = / usr / bin / vncserver:% i -geometry 1440x900 -alltid delt -fg ExecStop = / usr / bin / vncserver -kill:% i [Install] WantedBy = multi-user.mål
Gem og luk filen.
Underret systemd om, at der oprettes en ny enhedsfil:
sudo systemctl daemon-reload
Aktivér tjenesten for at starte ved opstart:
sudo systemctl aktiver vncserver @ 1.service
Nummeret 1
efter @
tegn definerer den skærmport, som VNC-tjenesten kører på. Dette betyder, at VNC-serveren lytter til porten 5901
, som vi diskuterede i det foregående afsnit.
Start VNC-tjenesten ved at udfø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 @.service; aktiveret; forudindstilling af leverandør: aktiveret) Aktiv: aktiv (kører) siden fre 2021-03-26 20:00:59 UTC; 3s siden…
Opretter forbindelse til VNC-server #
VNC er ikke en krypteret protokol og kan være genstand for pakke sniffing. Den anbefalede tilgang er at oprette en SSH-tunnel og sikkert videresende trafik fra din lokale maskine på port 5901 til serveren på den samme port.
Opsæt SSH Tunneling på Linux og macOS #
Hvis du kører Linux, macOS eller ethvert andet Unix-baseret operativsystem på din maskine, kan du nemt oprette en SSH-tunnel med følgende kommando:
ssh -L 5901: 127.0.0.1: 5901 -N-f -l vagrant 192.168.33.10
Du bliver bedt om at indtaste brugeradgangskoden.
Sørg for at udskifte den brugernavn
og server_ip_adresse
med dit brugernavn og IP-adressen på din server.
Opsæt SSH Tunneling på Windows #
Hvis du kører Windows, kan du konfigurere SSH Tunneling ved hjælp af PuTTY SSH-klienten .
Åbn Putty, og indtast din server IP-adresse i Værtsnavn eller IP-adresse
Mark.
Under Forbindelse
menu, boks, udvid SSH
, og vælg Tunneler
. Indtast VNC-serverporten (5901
) i Kildeport
felt og indtast server_ip_adresse: 5901
i Bestemmelsessted
og klik på Tilføje
knap som vist på billedet nedenfor:
Gå tilbage til Session
side for at gemme indstillingerne, så du ikke behøver at indtaste dem hver gang. Til den eksterne server skal du vælge den gemte session og klikke på Åben
knap.
Tilslutning ved hjælp af Vncviewer #
Nu da SSH-tunnelen er oprettet, er det tid til at åbne din Vncviewer og oprette forbindelse til VNC-serveren på lokal vært: 5901
.
Du kan bruge enhver VNC-seer som TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre og VNC Viewer til Google Chrome .
Vi bruger TigerVNC. Åbn fremviseren, indtast lokal vært: 5901
, og klik på Opret forbindelse
knap.
Indtast din brugeradgangskode, når du bliver bedt om det, og du skal se standard Xfce-skrivebordet. Det vil se sådan ud:
Du kan begynde at interagere med det eksterne XFCE-skrivebord fra din lokale maskine ved hjælp af tastatur og mus.
Konklusion #
Vi har vist dig, hvordan du installerer og konfigurerer en VNC-server, der kører, på Ubuntu 20.04.
For at konfigurere din VNC-server til at starte en skærm til mere end en bruger skal du oprette den oprindelige konfiguration og indstille adgangskoden ved hjælp af vncpasswd
kommando. Du bliver også nødt til at oprette en ny servicefil ved hjælp af en anden port.
Du er velkommen til at efterlade en kommentar, hvis du har spørgsmål.