So richten Sie den VNC-Server unter Debian 8 ein

Einführung

VNC (Virtual Network Computing) ist ein System, mit dem Benutzer Verbindungen herstellen und mit grafischen Desktops von Remotecomputern interagieren können. Es kann Bildschirmaktualisierungen sowie Tastatur- und Mausereignisse über das Netzwerk übertragen.

VNC ist nützlich, wenn Sie eine grafische Desktop-Umgebung für Ihren Server benötigen.

XFCE ist eine leichte Desktop-Umgebung. Aufgrund der geringen Systemressourcenanforderungen und der Tatsache, dass viele VNC-Benutzer damit vertraut sind, verwenden wir in diesem Lernprogramm XFCE. Sie können jedoch auch Ihre bevorzugte Desktop-Umgebung wie Gnome oder KDE verwenden.

In diesem Tutorial werden wir einen Debian 8-Server einrichten, die XFCE-Desktop-Umgebung darauf installieren und eine Verbindung über VNC herstellen. Zusätzlich erstellen wir ein Startskript für VNC Server und sichern es über SSH.

Voraussetzungen

Bitte erfüllen Sie die folgenden Voraussetzungen.

  • Debian 8 (oder 8.1) -Droplet mit Root-Zugriff. 512 MB RAM reichen aus, um VNC und XFCE auszuführen, aber Sie benötigen möglicherweise ein größeres Droplet, je nachdem, was Sie mit der grafischen Oberfläche vorhaben

  • VNC-Viewer (Client) auf Ihrem Computer, um eine Verbindung zu Ihrem Server herzustellen. In diesem Tutorial verwenden wir UltraVNC unter Windows, Sie können jedoch auch andere VNC-Clients verwenden. Sie können UltraVNC hier herunterladen: here. OS X wird mit einem integrierten VNC-Client namens Screen Sharing ausgeliefert

  • SSH-Client zum Herstellen einer sicheren Verbindung über SSH. Wir werden PuTTY für Windows verwenden. Sie können PuTTY hier herunterladen: here. Verwenden Sie unter OS X einfach die integrierte Terminal-Anwendung

Schritt 1 - Installieren von VNC und XFCE

In diesem Schritt installieren wir VNC Server und die XFCE-Desktop-Umgebung mit zusätzlicher Software und einem Icon Pack.

Aktualisieren Sie die Paketlisten Ihres Servers:

apt-get update

Aktualisieren Sie die Pakete selbst:

apt-get -y upgrade

Dann werden wir + tightvncserver + und XFCE4 mit einigen nützlichen Add-Ons und einem Icon-Theme installieren:

apt-get install xfce4 xfce4-goodies gnome-icon-theme tightvncserver

Standardmäßig ist kein Browser installiert. Sie können + iceweasel + (eine umbenannte Version von Mozilla Firefox für Debian) installieren, wenn Sie über Ihre VNC-Verbindung auf das Web zugreifen möchten:

apt-get install iceweasel

Schritt 2 - Erstellen eines VNC-Benutzers

Wir werden einen separaten Benutzer für VNC-Verbindungen erstellen, um die Sicherheit und Ordnung zu gewährleisten. Die Verwendung von + sudo + wird dringend empfohlen, anstatt den Benutzer * root * direkt für Ihren VNC-Server zu verwenden.

Sie können einen Benutzer mit dem Namen * vnc * zu Ihrem Debian-Droplet hinzufügen, indem Sie diesen Befehl verwenden:

adduser vnc

Geben Sie Ihrem neuen Benutzer ein Passwort. Sie können alle anderen Fragen überspringen, indem Sie einfach "+ ENTER" drücken.

Installieren Sie + sudo +, indem Sie diesen Befehl ausführen:

apt-get install sudo

Fügen Sie Ihren neuen Benutzer * vnc * zur Gruppe * sudo * hinzu, die diesem Benutzer die Berechtigung zum Ausführen von Root-Befehlen erteilt.

gpasswd -a vnc sudo

Wechseln wir zum Benutzer * vnc *:

su - vnc

Schritt 3 - Starten und Stoppen Ihres VNC-Servers

Als neu erstellter * vnc * -Benutzer können wir VNC Server starten und unsere Verbindung testen.

Starten Sie VNC Server:

vncserver

Da Sie den Server zum ersten Mal ausführen, werden Sie aufgefordert, ein Kennwort festzulegen, mit dem Clients eine Verbindung herstellen. Behalte dieses Passwort für später im Hinterkopf! Sie können auch ein Nur-Ansicht-Kennwort festlegen, mit dem Benutzer den Bildschirm sehen, aber nicht mit ihm interagieren können. Passwörter sollten aus * 6-8 Zeichen * bestehen.

Sie erhalten eine Benachrichtigung über Ihre Anzeigenummer, wenn der Server gestartet wird.

Ausgabe

xauth:  file /home/vnc/.Xauthority does not exist

New 'X' desktop is vnc:1

Creating default startup script /home/vnc/.vnc/xstartup
Starting applications specified in /home/vnc/.vnc/xstartup
Log file is /home/vnc/.vnc/vnc:1.log

Standardmäßig werden VNC-Verbindungen an Ports bereitgestellt, die bei der ersten Anzeige mit "+ 5901 " beginnen. Ihre zweite Anzeige wird an Port ` 5902 +` usw. geliefert.

Stoppen Sie den Server jetzt nicht. Der Befehl stop dient jedoch als Referenz.

Schritt 4 - Verbindung von einem VNC-Client

Sie können jetzt eine Verbindung zu Ihrem VNC-Server herstellen. Öffnen Sie Ihren lokalen VNC-Client, der sich je nach Betriebssystem unterscheidet.

Unter Windows können Sie UltraVNC here verwenden.

Unter OS X können Sie die integrierte Bildschirmfreigabe-App verwenden oder über Safari auf diese App zugreifen. In Safari können Sie * vnc: //: 5901 * eingeben

Geben Sie als VNC-Serveradresse *: 5901 * ein und verwenden Sie das Passwort, das Sie gerade für Ihre VNC-Verbindung festgelegt haben.

Sie können auf dem XFCE-Begrüßungsbildschirm die Schaltfläche * Use default config * (Standardkonfiguration verwenden) auswählen, um die ersten Schritte zu vereinfachen:

Jetzt können Sie Ihren Remote-Desktop verwenden!

Schritt 5 - Erstellen eines systemd-Dienstes zum automatischen Starten von VNC Server

In diesem Abschnitt fügen wir VNC Server zu systemd hinzu. Die Verwendung eines Dienstes kann nützlich sein, um Ihren VNC-Server zu starten und zu stoppen und um ihn automatisch zu starten, wenn Ihr Droplet neu gestartet wird.

Lassen Sie uns zuerst die aktuelle Instanz beenden:

vncserver -kill

Erstellen Sie ein einfaches Skript, um unseren VNC-Server einfach zu verwalten und zu konfigurieren:

Erstellen Sie als * vnc * oder anderer sudo-Benutzer eine Skriptdatei mit Ihrem bevorzugten Texteditor.

sudo nano /usr/local/bin/myvncserver

Fügen Sie genau diese Inhalte hinzu. Dieses Skript stellt VNC einige Parameter für den Start bereit.

/ usr / local / bin / myvncserver

#!/bin/bash
PATH="$PATH:/usr/bin/"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

case "$1" in
start)
/usr/bin/vncserver ${OPTIONS}
;;

stop)
/usr/bin/vncserver -kill :${DISPLAY}
;;

restart)
$0 stop
$0 start
;;
esac
exit 0

Sie können das Skript ändern, um die Farbtiefe oder Auflösung Ihrer VNC-Verbindung zu ändern.

Wenn Sie Nano verwenden, können Sie die Datei mit + STRG + O + speichern und mit + STRG + X + beenden.

Machen Sie die Datei ausführbar:

sudo chmod +x /usr/local/bin/myvncserver

Unser Skript hilft uns, Einstellungen zu ändern und VNC Server einfach zu starten / stoppen.

Wir können jetzt eine unit file für unseren Service erstellen. Gerätedateien werden verwendet, um Dienste zu beschreiben und dem Computer mitzuteilen, was zu tun ist, um den Dienst zu starten / zu stoppen oder neu zu starten.

sudo nano /lib/systemd/system/myvncserver.service

Kopieren Sie diese Befehle in die Servicedatei. Unser Service ruft einfach das Startskript oben mit dem Benutzer * vnc * auf.

/lib/systemd/system/myvncserver.service

[Unit]
Description=Manage VNC Server on this droplet

[Service]
Type=forking
ExecStart=/usr/local/bin/myvncserver start
ExecStop=/usr/local/bin/myvncserver stop
ExecReload=/usr/local/bin/myvncserver restart
User=vnc

[Install]
WantedBy=multi-user.target

Jetzt können wir + systemctl + neu laden und unseren Service aktivieren:

sudo systemctl daemon-reload
sudo systemctl enable myvncserver.service

Sie haben Ihren neuen Dienst jetzt aktiviert. Verwenden Sie diese Befehle, um den Dienst mit dem Befehl + systemctl + zu starten, zu stoppen oder neu zu starten:

sudo systemctl start myvncserver.service
sudo systemctl stop myvncserver.service
sudo systemctl restart myvncserver.service

Jetzt können Sie VNC Server als Dienst auf Ihrem Droplet ausführen.

Schritt 6 - Sichern Sie Ihren VNC-Server mit SSH-Tunneling

Standardmäßig verwenden VNC-Verbindungen keine Verschlüsselung. Es wird daher empfohlen, zur Sicherung Ihrer Sitzung einen SSH-Tunnel zu verwenden.

Dazu lassen wir unseren VNC-Server nur auf * localhost * laufen. + Sie können dies tun, indem Sie "+ -localhost " in die Zeile " OPTIONS +" des im vorherigen Schritt erstellten Startskripts einfügen.

Stoppen Sie zuerst den VNC-Server:

sudo systemctl stop myvncserver.service

Bearbeiten Sie Ihr Konfigurationsskript:

sudo nano /usr/local/bin/myvncserver

Ändern Sie diese Zeile:

/ usr / local / bin / myvncserver

. . .

OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. . .

Ersetzen Sie es durch:

/ usr / local / bin / myvncserver

. . .

OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} "

. . .

Starten Sie den VNC-Server neu:

sudo systemctl start myvncserver.service

Jetzt können Sie von Ihrem Remote-Computer aus keine direkte Verbindung zu Ihrem VNC-Server herstellen.

  • Windows: *

Wir werden PuTTY verwenden, um einen SSH-Tunnel zu erstellen und dann eine Verbindung über den von uns erstellten Tunnel herzustellen.

Öffnen Sie PuTTY.

Gehen Sie im linken Menü zum Abschnitt * Verbindung→ SSH→ Tunnel *.

Geben Sie im Abschnitt "Neuen weitergeleiteten Port hinzufügen" "+ 5901 " als "Quellport" und " localhost: 5901 +" als "Ziel" ein.

Klicken Sie auf die Schaltfläche * Hinzufügen *.

Sie können jetzt zum Abschnitt * Sitzung * im linken Menü gehen.

Geben Sie die IP-Adresse Ihres Droplets in das Feld * Hostname (oder IP-Adresse) * ein.

Klicken Sie auf die Schaltfläche * Öffnen *, um eine Verbindung herzustellen. Sie können diese Optionen auch zur späteren Verwendung speichern.

image: https: //assets.digitalocean.com/articles/vnc-debian8/zvIl1fJ.png [PuTTY SSH Connection]

Melden Sie sich mit Ihrem * vnc * -Benutzer an.

Lassen Sie das PuTTY-Fenster geöffnet, während Sie die VNC-Verbindung herstellen.

Jetzt können Sie Ihren VNC-Viewer wie gewohnt verwenden. Geben Sie einfach * localhost

5901 * als Adresse ein und lassen Sie Ihre SSH-Verbindung im Hintergrund laufen.

image: https://assets.digitalocean.com/articles/vnc-debian8/FZWF3UH.png [UltraVNC Viewer: localhost

5901]

  • OS X: *

Verwenden Sie die folgende Zeile in Terminal, um einen SSH-Tunnel einzurichten:

ssh vnc@ -L 5901:localhost:5901

Authentifizieren Sie sich wie gewohnt für den * vnc * -Benutzer für SSH. Verwenden Sie dann in der Screen Sharing-App * localhost: 5901 *.

Fazit

Jetzt können Sie einen freigegebenen Remote-Desktop auf Ihrem Debian 8-Server verwenden.

Verwenden Sie es, um Ihren Server zu konfigurieren oder Ihren Bildschirm für andere freizugeben.