Android

Hoe vnc op debian 9 te installeren en configureren

LINUX Tutorial 9/9 | XFCE Desktop | VNC Server | VNC SSH Tunnel | Einsteiger Anfänger Grundlagen

LINUX Tutorial 9/9 | XFCE Desktop | VNC Server | VNC SSH Tunnel | Einsteiger Anfänger Grundlagen

Inhoudsopgave:

Anonim

Deze zelfstudie beschrijft hoe VNC-server op een Debian 9-systeem moet worden geïnstalleerd en geconfigureerd. We laten u ook zien hoe u een SSH-tunnel kunt maken en veilig verbinding kunt maken met de VNC-server.

Virtual Network Computing (VNC) is een grafisch systeem voor het delen van desktops waarmee u uw toetsenbord en muis kunt gebruiken om op afstand een andere computer te bedienen.

voorwaarden

Zorg ervoor dat u bent aangemeld als een gebruiker met sudo-rechten voordat u doorgaat met de zelfstudie.

Desktopomgeving installeren

De kans is groot dat er geen desktopomgeving op uw Debian-server is geïnstalleerd. Onze eerste stap is het installeren van een lichtgewicht desktopomgeving.

Er zijn verschillende desktopomgevingen (DE) beschikbaar in Debian-repositories. In deze tutorial zullen we Xfce gebruiken als onze desktopomgeving naar keuze. Het is een snelle, stabiele en lichtgewicht, waardoor het ideaal is voor gebruik op een externe server.

Werk de pakkettenindex bij en installeer Xfce op uw Debian-server met de volgende opdrachten:

sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

Afhankelijk van uw systeem kan het downloaden en installeren van de Xfce-pakketten enige tijd duren.

VNC Server installeren

Er zijn ook verschillende VNC-servers beschikbaar in Debian-opslagplaatsen zoals TightVNC, TigerVNC en x11vnc. Elke VNC-server heeft zijn sterke en zwakke punten op het gebied van snelheid en beveiliging.

We gebruiken TigerVNC, dat actief wordt onderhouden krachtige VNC-server. Voer de volgende opdracht uit om TigerVNC op uw Debian-server te installeren:

sudo apt install tigervnc-standalone-server tigervnc-common

Nadat de VNC-server is geïnstalleerd, voert u de opdracht vncserver uit om de eerste configuratie te maken en het wachtwoord in te stellen. Gebruik sudo niet wanneer u de volgende opdracht uitvoert:

vncserver

U wordt gevraagd om het wachtwoord in te voeren en te bevestigen en of u het wilt instellen als alleen-bekijken wachtwoord. Als u ervoor kiest om een ​​wachtwoord voor alleen bekijken in te stellen, kan de gebruiker niet met de VNC-instantie communiceren met de muis en het toetsenbord.

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 'debian9.localdomain:1 (linuxize)' desktop at:1 on machine debian9.localdomain Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/debian9.localdomain:1.log Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd:1 to connect to the VNC server.

Wanneer u de opdracht vncserver voor de eerste keer uitvoert, wordt het wachtwoordbestand gemaakt en opgeslagen in de map ~/.vnc .

Let op de :1 na de hostnaam in de bovenstaande output. Dit geeft het nummer van de weergavepoort aan waarop de vnc-server actief is. In ons geval draait de server op TCP-poort 5901 (5900 + 1). Als u een tweede exemplaar maakt met vncserver , wordt dit uitgevoerd op de volgende vrije poort, dat wil zeggen :2 dat betekent dat de server wordt uitgevoerd op poort 5902 (5900 + 2).

Het is belangrijk om op te merken dat bij het werken met VNC-servers :X een weergavepoort is die verwijst naar 5900+X

Voordat u doorgaat met de volgende stap, stopt u het VNC-exemplaar met de opdracht vncserver met de optie -kill en het -kill als argument. In ons geval draait de server in poort 5901 ( :1 ), dus we stoppen ermee met:

vncserver -kill:1

Killing Xtigervnc process ID 6677… success!

VNC-server configureren

Nu zowel Xfce als TigerVNC op de server zijn geïnstalleerd, moeten we TigerVNC configureren om Xfce te gebruiken. Maak hiervoor het volgende bestand:

nano ~/.vnc/xstartup ~ /.Vnc / xstartup

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

Sla het bestand op en sluit het. Het bovenstaande script wordt automatisch uitgevoerd wanneer u de TigerVNC-server start of opnieuw start.

Het bestand ~/.vnc/xstartup moet ook uitvoeringsrechten hebben. Voer de volgende chmod opdracht uit om te controleren of de machtigingen correct zijn:

chmod u+x ~/.vnc/xstartup ~ /.Vnc / config

geometry=1920x1084 dpi=96

Een Systemd-eenheidsbestand maken

Met het systemd unit-bestand kunnen we de VNC-service eenvoudig starten, stoppen en opnieuw opstarten als dat nodig is.

Open uw teksteditor en kopieer en plak de volgende configuratie erin. Vergeet niet om de gebruikersnaam in regel 7 aan uw gebruikersnaam aan te passen.

sudo nano /etc/systemd/system/[email protected] /etc/systemd/system/[email protected]

Description=Remote desktop service (VNC) After=syslog.target network.target Type=simple User=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 -alwaysshared -fg ExecStop=/usr/bin/vncserver -kill:%i WantedBy=multi-user.target

Sla het bestand op en sluit het.

Breng systemd op de hoogte dat een nieuw [email protected] bestand bestaat door de volgende opdracht uit te voeren:

sudo systemctl daemon-reload

Schakel vervolgens de service in:

sudo systemctl enable [email protected]

Het cijfer 1 achter het @ -teken definieert de weergavepoort waarop de VNC-service wordt uitgevoerd. Zoals we in de vorige sectie hebben besproken, luistert de VNC-server op poort 5901 omdat we 1 gebruiken.

Start de VNC-service door het uitvoeren van:

sudo systemctl start [email protected]

Controleer of de service met succes is gestart met:

sudo systemctl status [email protected]

[email protected] - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-10-03 05:23:33 PDT; 51s ago Process: 7063 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill:1 > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 7071 (vncserver) Tasks: 0 (limit: 4915) CGroup: /system.slice/system-vncserver.slice/[email protected] ‣ 7071 /usr/bin/perl /usr/bin/vncserver:1 -geometry 1440x900 -alwaysshared -fg

Verbinding maken met VNC-server

VNC is geen gecodeerd protocol en kan worden onderworpen aan pakket snuiven. De aanbevolen aanpak is om een ​​SSH-tunnel te maken die verkeer van uw lokale machine op poort 5901 veilig doorstuurt naar de server op dezelfde poort.

SSH-tunneling instellen op Linux en macOS

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address U wordt gevraagd het gebruikerswachtwoord in te voeren.

Vergeet niet uw username en server_ip_address te vervangen door uw gebruikersnaam en het IP-adres van uw server.

SSH-tunneling instellen op Windows

Open Putty en voer het IP-adres van uw server in het veld Host name or IP address in.

Op dit punt hebt u met succes verbinding gemaakt met uw server via VNC. U kunt nu beginnen met de interactie met het externe XFCE-bureaublad vanaf uw lokale computer met behulp van uw toetsenbord en muis.

Conclusie

U zou nu een VNC-server moeten hebben en u kunt uw Debian 9-server eenvoudig beheren vanaf uw lokale computer met behulp van een grafische interface.

Om uw VNC-server te configureren om een ​​weergave voor meer dan één gebruiker te starten, maakt u de eerste configuratie en stelt u het wachtwoord in met de opdracht vncserver . U moet ook een nieuw servicebestand maken met een andere poort.

Als je nog vragen hebt, kun je een reactie achterlaten.

debian vnc