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
vncpasswdBefehl zum Einrichten des Passworts. Führen Sie den Befehl als der Benutzer aus, der auf den VNC-Server zugreift, verwenden Sie nichtsudo:vncpasswdSie 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
vncpasswdWenn der Befehl ausgeführt wird, erstellt und speichert er die Kennwortdatei in~/.vncdes Benutzers Verzeichnis.Password: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not usedWenn Sie einen zweiten Benutzer hinzufügen, wechseln Sie zu diesem und legen Sie das Passwort mit
vncpasswdfest . -
Der nächste Schritt besteht darin, TigerVNC für die Verwendung von Gnome zu konfigurieren. VNC liest die Benutzerkonfigurationseinstellungen aus
~/.vnc/configDatei. Öffnen Sie die Datei und fügen Sie Folgendes hinzu:vim ~/.vnc/configsession=gnome geometry=1920x1200 localhost alwayssharedDie
sessionOption gibt die Sitzung an, die Sie starten möchten, und diegeometryOption 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.userskonfiguriert Datei:sudo vim /etc/tigervnc/vncserver.usersDie Datei verwendet
<display_port>=<username>Syntax. Im folgenden Beispiel ordnen wir den Anzeigeport:1zu 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:1ist 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:2zuordnen , lauscht der Server auch auf Port5902(5900+2).Es ist wichtig zu verstehen, dass bei der Arbeit mit VNC-Servern
:Xist ein Displayport, der sich auf5900+Xbezieht .
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.