Virtual Network Computing (VNC) ist ein grafisches Desktop-Sharing-System, mit dem Sie Ihre Tastatur und Maus verwenden können, um einen anderen Computer fernzusteuern.
Dieser Artikel behandelt die Schritte zum Installieren und Konfigurieren eines VNC-Servers unter CentOS 8. Wir zeigen Ihnen auch, wie Sie über einen SSH-Tunnel eine sichere Verbindung zum VNC-Server herstellen.
Voraussetzungen #
Um dieser Anleitung zu folgen, müssen Sie als Benutzer mit sudo-Berechtigungen auf Ihrem entfernten CentOS-Rechner angemeldet sein.
Installation der Desktop-Umgebung #
Im Allgemeinen ist auf Servern keine Desktop-Umgebung installiert. Wenn der Computer, zu dem Sie eine Verbindung herstellen möchten, keine GUI hat, müssen Sie sie zunächst installieren. Andernfalls überspringen Sie diesen Schritt.
Führen Sie den folgenden Befehl aus, um Gnome, die Standard-Desktop-Umgebung in CentOS 8, auf Ihrem Remote-Computer zu installieren:
sudo dnf groupinstall "Server with GUI"
Abhängig von Ihrem System kann das Herunterladen und Installieren der Gnome-Pakete und Abhängigkeiten einige Zeit dauern.
VNC-Server wird installiert #
TigerVNC ist ein aktiv gewarteter Hochleistungs-Open-Source-VNC-Server. Es ist in den standardmäßigen CentOS-Repositories verfügbar. Um es zu installieren, geben Sie Folgendes ein:
sudo dnf install tigervnc-server
VNC-Server wird konfiguriert #
In CentOS 8 wird TigerVNC mit dem systemd-Daemon konfiguriert.
In diesem Beispiel zeigen wir Ihnen, wie Sie TigerVNC für einen oder mehrere VNC-Benutzer konfigurieren.
-
Verwenden Sie das
vncpasswd
Befehl zum Einrichten des Passworts. Führen Sie den Befehl als der Benutzer aus, der auf den VNC-Server zugreift, verwenden Sie nichtsudo
:vncpasswd
Sie werden aufgefordert, das Passwort einzugeben und zu bestätigen und ob Sie es als Nur-Lese-Passwort festlegen möchten. Wenn Sie sich dafür entscheiden, ein Nur-Anzeige-Passwort einzurichten, kann der Benutzer nicht mit der Maus und der Tastatur mit der VNC-Instanz interagieren.
Das erste Mal das
vncpasswd
Wenn der Befehl ausgeführt wird, erstellt und speichert er die Kennwortdatei in~/.vnc
des Benutzers Verzeichnis.Password: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not used
Wenn Sie einen zweiten Benutzer hinzufügen, wechseln Sie zu diesem und legen Sie das Passwort mit
vncpasswd
fest . -
Der nächste Schritt besteht darin, TigerVNC für die Verwendung von Gnome zu konfigurieren. VNC liest die Benutzerkonfigurationseinstellungen aus
~/.vnc/config
Datei. Öffnen Sie die Datei und fügen Sie Folgendes hinzu:vim ~/.vnc/config
session=gnome geometry=1920x1200 localhost alwaysshared
Die
session
Option gibt die Sitzung an, die Sie starten möchten, und diegeometry
Option gibt die Größe des VNC-Desktops an.Speichern und schließen Sie die Datei. Wenn Sie mehrere Benutzer hinzufügen, wiederholen Sie denselben Schritt.
-
TigerVNC wird mit einer Datei ausgeliefert, mit der Sie einen Benutzer einem bestimmten Port zuordnen können. Die Zuordnung wird in
/etc/tigervnc/vncserver.users
konfiguriert Datei:sudo vim /etc/tigervnc/vncserver.users
Die Datei verwendet
<display_port>=<username>
Syntax. Im folgenden Beispiel ordnen wir den Anzeigeport:1
zu Benutzer linuxize. Verwenden Sie dasselbe Format, um weitere Benutzer hinzuzufügen.# TigerVNC User assignment # # This file assigns users to specific VNC display numbers. # The syntax is <display>=<username>. E.g.: # # :2=andrew # :3=lisa :1=linuxize
:1
ist die Anzeigeportnummer, auf der der VNC-Server ausgeführt wird. In unserem Fall läuft der Server auf dem TCP-Port5901
(5900+1). Wenn Sie beispielsweise einen anderen Benutzer dem Anzeigeport:2
zuordnen , lauscht der Server auch auf Port5902
(5900+2).Es ist wichtig zu verstehen, dass bei der Arbeit mit VNC-Servern
:X
ist ein Displayport, der sich auf5900+X
bezieht .
Starten des Tigervnc-Servers #
Wenn Sie mit der Konfiguration fertig sind, besteht der letzte Schritt darin, den VNC-Server zu starten.
Zum Starten und Aktivieren des VNC-Dienstes für den Benutzer, der dem Anzeigeport :1
zugeordnet ist , geben Sie ein:
sudo systemctl enable vncserver@:1 --now
Der VNC-Server lauscht auf Port 5901
, wie wir im vorherigen Abschnitt besprochen haben.
Sie können überprüfen, ob der Dienst erfolgreich gestartet wurde mit:
sudo systemctl status vncserver@:1
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/usr/lib/systemd/system/[email protected]; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-12-17 21:49:41 UTC; 8s ago
...
Um VNC für andere Benutzer zu aktivieren, ersetzen Sie einfach 1
wobei der Displayport dem Benutzer zugeordnet ist.
Verbinden mit VNC-Server #
VNC ist kein verschlüsseltes Protokoll und kann Paketschnüffeln ausgesetzt sein. Der empfohlene Ansatz besteht darin, einen SSH-Tunnel zu erstellen, um Datenverkehr von Ihrem lokalen Computer auf Port 5901
sicher weiterzuleiten zum entfernten Server auf demselben Port.
SSH-Tunneling unter Linux und macOS einrichten #
Wenn Sie Linux, macOS oder ein anderes Unix-basiertes Betriebssystem auf Ihrem Computer ausführen, können Sie mit dem folgenden ssh
ganz einfach einen Tunnel erstellen Befehl:
ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip
Sie werden aufgefordert, das Benutzerkennwort einzugeben.
Vergessen Sie nicht, username
zu ersetzen und server_ip_address
mit Ihrem Benutzernamen und der IP-Adresse Ihres Servers.
SSH-Tunneling unter Windows einrichten #
Windows-Benutzer können SSH-Tunneling mit PuTTY einrichten.
Öffnen Sie Putty und geben Sie Ihre Server-IP-Adresse in das Feld Host name or IP address
ein Feld.
Unter Connection
erweitern Sie SSH
und wählen Sie Tunnels
. Geben Sie den Port des VNC-Servers ein (5901
) im Source Port
Geben Sie im Feld server_ip_address:5901
ein im Destination
Feld und klicken Sie auf Add
Schaltfläche wie im Bild unten gezeigt:
Gehen Sie zurück zur session
Seite, um die Einstellungen zu speichern, damit Sie sie nicht jedes Mal neu eingeben müssen. Um sich beim Remote-Server anzumelden, wählen Sie die gespeicherte Sitzung aus und klicken Sie auf Open
Schaltfläche.
Verbinden mit Vncviewer #
Um eine Verbindung zum Remote-Server herzustellen, öffnen Sie Ihren VNC-Viewer und geben Sie localhost:5901
ein .
Sie können jeden VNC-Viewer wie TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre und VNC Viewer für Google Chrome verwenden.
Wir verwenden TigerVNC:
Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden, und Sie sollten den Standard-Gnome-Desktop sehen. Es sollte etwa so aussehen:
Das ist es! Sie können jetzt mit Ihrer Tastatur und Maus von Ihrem lokalen Computer aus an Ihrem Remote-Desktop arbeiten.