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.
+1 302 498-83-59
IT-GRAD NL B.V.
+1 302 498-83-59
IT-GRAD NL B.V.