Maybaygiare.org

Blog Network

Installieren und Konfigurieren eines VNC-Servers auf CentOS 7

13.07.2020

In diesem Handbuch erfahren Sie, wie Sie einen VNC-Server auf dem CentOS 7 installieren und konfigurieren.x Betriebssystem, um Remoteverbindungen von beliebigen VNC-Clients wie TightVNC, RealVNC und anderen zuzulassen. Insbesondere werden wir dies mit der TigerVNC-Serversoftware tun, einem kostenlosen Tool, mit dem Sie einen eigenständigen virtuellen Desktop verwenden können.

Einführung

VNC (Virtual Network Computing) ist ein Client-Server-Protokoll, mit dem ein Client-Computer (auf dem ein VNC-Client ausgeführt wird) einen Remotecomputer (auf einem VNC-Server ausgeführt) verbinden und steuern kann. Die Software wurde vom Olivetti & Oracle Research Lab in Cambridge, Großbritannien, entwickelt und der Quellcode ist immer noch aktuell und unter der General Public License (GNU) verfügbar.

Abhängig von der Serversoftware stellt der VNC-Client eine Verbindung zum aktiven Desktop (z. B. als TeamViewer- oder AnyDesk-Programme) oder zu einem eigenständigen virtuellen Desktop (wie dem Windows RDP Remote Desktop Protocol) her. Letzteres ist möglicherweise leistungsfähiger und sicherer, insbesondere wenn Sie den Servercomputer verwalten müssen, da jede Sitzung eine eindeutige Umgebung ist, die mit den Berechtigungen und Rechten des verbundenen Benutzers konfiguriert ist. Aus diesem Grund wählen wir TigerVNC, das parallele Sitzungen der Desktop-Umgebung des Computers ausführt (GNOME, KDE oder eine andere GUI): dies bedeutet, dass für jede Verbindung ein virtueller Desktop erstellt wird — genau das wollen wir.

TigerVNC installieren

Nun wollen wir sehen, wie wir TigerVNC auf CentOS installieren und konfigurieren können. Als erstes müssen Sie das TigerVNC-Serverprogramm installieren, indem Sie eine Terminalsitzung öffnen und den folgenden Befehl mit Root-Rechten eingeben:

$ sudo yum install tigervnc-server

Unmittelbar danach müssen Sie einen separaten VNC-Benutzer erstellen, von dem aus die Verbindung hergestellt wird (mit einem dedizierten Kennwort). Geben Sie dazu Folgendes ein:

$ sudo adduser vncuser
$ sudo passwd vncuser

Wichtig: Tun Sie dies niemals als Root—Benutzer – dies stellt eine ernsthafte Bedrohung für die Sicherheit Ihres Systems dar. Die beste Lösung wäre, den Root-Benutzer ohne Zugriff auf VNC zu belassen und ein dediziertes Konto mit eingeschränkten Rechten einzurichten.

Nachdem Sie vncuser erstellt und ein Kennwort für die Anmeldung festgelegt haben, müssen Sie auch ein eindeutiges VNC-Kennwort für diesen Benutzer festlegen. Der Befehl dazu lautet:

$ su - vncuser
$ vncpasswd

(Die erste Zeile kann weggelassen werden, wenn wir bereits im Voraus als vncuser angemeldet sind).

Als nächstes müssen Sie eine VNC-Konfigurationsdatei für vncuser erstellen. Der schnellste Weg, dies zu tun, besteht darin, die freigegebene VNC-Vorlagendatei im Ordner /lib/systemd/system/ zu kopieren und dann zu ändern:

$ cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

Die Nummer 1, die wir dem neuen Dateinamen hinzugefügt haben, ist die Anzeigenummer, die für diese bestimmte Instanz des Dienstes verwendet wird. Dies ist wichtig zu wissen, da es auch den TCP-Port bestimmt, der von unserem VNC-Server verwendet wird, der der Anzeigenummer 5900 + entspricht. Der erste wird 5901 sein, dann 5902 und so weiter.

Unmittelbar nach dem Kopieren müssen Sie die neue Datei mit Vi, Nano oder einem anderen Texteditor bearbeiten und durch den Namen des kürzlich erstellten Benutzers ersetzen (in unserem Fall vncuser). So sollte die Datei nach dem Update aussehen (mit Ausnahme des langen kommentierten Teils am Anfang):


Description=Remote desktop service (VNC)
After=syslog.target network.target
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i -geometry 1280x720"
PIDFile=/home/vncuser/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

WantedBy=multi-user.target

Sobald Sie dies getan haben, können Sie den VNC-Daemon neu laden und vncserver @ 1 mit den folgenden Befehlen ausführen:

$ systemctl daemon-reload
$ systemctl start vncserver@:1

Bevor Sie fortfahren, überprüfen Sie, ob der Dienst ausgeführt wird, indem Sie den Befehl systemctl status eingeben:

$ systemctl status vncserver@:1

und erstellen Sie einen symbolischen Link, damit er immer systemstart mit dem folgenden Befehl:

$ systemctl enable vncserver@:1

Ein weiterer Test, den Sie durchführen können, bevor Sie versuchen, eine Verbindung zum Server herzustellen, besteht darin, die aktiven Netzwerksockets mit thesscommand: wenn alles richtig funktioniert, sollten Sie sehen, dass der VNC-Server funktioniert und TCP-Port 5901 verwendet. Führen Sie den Befehl aus:

$ ss -tulpn| grep vnc

Das Ergebnis sollte wie folgt aussehen:

tcp LISTEN 0 5 *:5901 *:* users:(("Xvnc",pid=38344,fd=9))
tcp LISTEN 0 128 *:6001 *:* users:(("Xvnc",pid=38344,fd=6))
tcp LISTEN 0 5 :::5901 :::* users:(("Xvnc",pid=38344,fd=10))
tcp LISTEN 0 128 :::6001 :::* users:(("Xvnc",pid=38344,fd=5))

Wenn Sie dies sehen, ist alles korrekt eingerichtet.

Firewall-Setup

Da unser VNC-Dienst den TCP-Port 5901 überwacht, müssen Sie sicherstellen, dass ein solcher Port offen und für externe Clients zugänglich ist. Wenn Sie eine Firewall installiert haben, müssen Sie daher eine entsprechende Regel erstellen, mit der VNC-Clients eine Verbindung herstellen können.

Wie viele Ports geöffnet werden, hängt davon ab, wie viele VNC-Server-Instanzen Sie benötigen. In unserem Szenario haben wir nur 1 ausgeführt, sodass Sie nur den ersten dedizierten VNC-Port öffnen müssen: TCP 5901, wie bereits erwähnt. Der Befehl zum Öffnen dieses Ports auf Firewalld:

# firewall-cmd --add-port = 5901 / tcp
# firewall-cmd --add-port = 5901 / tcp --permanent

Es ist nicht überflüssig zu erwähnen, dass Sie diesen Port auch auf bestimmte Gruppen, IP-Adressen, Netzwerkkarten oder andere einfache oder komplexe Firewall-Regeln beschränken können.

Installieren der grafischen Benutzeroberfläche (GUI)

Wenn Sie bereits GNOME, KDE oder andere Desktop-Umgebungen installiert haben, können Sie diesen Schritt überspringen. Andernfalls müssen Sie eine davon installieren: Der TigerVNC-Server startet für jede Anmeldesitzung eine parallele Instanz dieser Desktop-Umgebung, was bedeutet, dass wir mindestens eine GUI haben müssen.

GNOME

Wenn Sie eine großartige, aber schwere GNOME-Oberfläche wünschen, geben Sie Folgendes ein:

$ sudo yum groupinstall "GNOME Desktop"

Xfce

Wenn Sie eine leichte Alternative benötigen, können wir Xfce anbieten, eine kostenlose Open-Source-Umgebung für Unix-ähnliche Plattformen, die hervorragend mit TigerVNC funktioniert. GNOME funktioniert auch gut, aber es ist ziemlich ressourcenintensiv: Wenn Sie Ressourcen auf Ihrem Servercomputer sparen möchten, ist Xfce möglicherweise die beste Wahl. Um es zu installieren, geben Sie Folgendes ein:

$ yum install epel-release
$ yum groupinstall xfce

Zusätzliche Einstellungen für Xfce

Wenn Sie Xfce verwenden möchten, müssen Sie auch die Datei ändern, die beim Start der VNC-Sitzung ausgeführt wurde. Bearbeiten Sie dazu die Datei /home/<user>/.vnc/xstartup und ändern Sie den exec-Eintrag (normalerweise Zeile 4) von etc/ X11/ xinit/xinitrc in startxfce4, wie unten gezeigt:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
vncserver -kill $DISPLAY

VNC-Client-Verbindung

Nachdem alles eingerichtet ist, können wir versuchen, über einen VNC-Client wie TightVNC, UltraVNC oder RealVNC eine Verbindung zu unserem VNC-Dienst herzustellen , und sehen, was passiert. Denken Sie daran, den TCP-Port 5901 anzugeben (wenn Sie unserer Anleitung gefolgt sind).

Mögliche Probleme

Wenn Ihr Client keine funktionierende VNC-Verbindung herstellen kann, müssen Sie Folgendes überprüfen:

1. Verbindungsprobleme – Firewall-Konfiguration: Wenn Popup-Fehler angezeigt werden, dass der Client keine Verbindung zum Remote-Host herstellen kann, müssen Sie Ihre Netzwerk- und Firewall-Konfiguration überprüfen, um sicherzustellen, dass keine Blockierungsprobleme vorliegen, die verhindern könnten, dass der Client eine Verbindung zum TCP-Server-Port 5901 herstellt.

2. Schwarzer Bildschirm mit der Maus – YUM aktualisieren oder GUI neu installieren: wenn Sie einen schwarzen Bildschirm mit einem funktionierenden Mauszeiger sehen, bedeutet dies wahrscheinlich, dass Ihre VNC-Verbindung einwandfrei funktioniert, aber es gibt etwas, das verhindert, dass die GUI korrekt gestartet wird Desktop. Zur Korrektur:

  • Führen Sie yum update aus, um die neuesten Versionen von TigerVNC und der GUI selbst zu installieren. Achten Sie darauf, alle Probleme zu verfolgen, die während der Installationsphase auftreten.
  • Deinstallieren und installieren Sie die GUI mit dem Befehl yum remove / yum group remove und yum groupinstall erneut. Wenn immer noch nichts funktioniert, können Sie versuchen, eine andere GUI zu installieren.
19703 Claymont 2093 Philadelphia Pike #2345, USA

+1 302 498-83-59

700 300

IT-GRAD NL B.V.

19703 Claymont 2093 Philadelphia Pike #2345, USA

+1 302 498-83-59

700 300

IT-GRAD NL B.V.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.