In dieser Anleitung erklären wir, wie Sie VNC Remote Access in CentOS 7/8 und RHEL 9/8/7 Desktop-Edition über das tigervnc-server Programm installieren und konfigurieren, um auf ferne Desktop-Computer zuzugreifen.
VNC (Virtual Network Computing) ist ein Server-Client-Protokoll, das Benutzerkonten ermöglicht, sich remote an ein entferntes System anzuschließen und es über die von der grafischen Benutzeroberfläche bereitgestellten Ressourcen zu steuern.
Im Gegensatz zu anderen VNC Servern, die direkt an den Laufzeit-Desktop anschließen, wie VNC X oder Vino, verwendet tigervnc-vncserver einen anderen Mechanismus, der für jeden Benutzer einen eigenständigen virtuellen Desktop konfiguriert.
Anforderungen
- Installation von CentOS 8 mit Screenshots
- Installationsverfahren für CentOS 7
- So installieren Sie RHEL 9 kostenlos
- So einfach kannst du RHEL 8 kostenlos installieren
- Installationsanleitung für RHEL 7
Schritt 1: Installation und Konfiguration von VNC unter CentOS
1. Tigervnc-server ist ein Programm, das einen Xvnc Server ausführt und parallel Sitzungen von Gnome oder anderen Desktop-Umgebungen auf dem VNC-Desktop startet.
A started VNC user session can be accessed by the same user from multiple VNC clients. In order to install the TigerVNC server in CentOS/RHEL, open a terminal session and issue the following yum command with root privileges.
$ sudo yum install tigervnc-server

2. Nach der Installation des Programms melde dich mit dem Benutzer an, den du für die Ausführung des VNC Programms verwenden möchtest, und gib den unten stehenden Befehl im Terminal ein, um ein Passwort für den VNC-Server zu konfigurieren. Beachte, dass das Passwort mindestens sechs Zeichen lang sein muss.
$ su - your_user $ vncpasswd

3. Als nächstes fügst du eine VNC Service-Konfigurationsdatei für deinen Benutzer hinzu, indem du eine Daemon-Konfigurationsdatei im systemd Verzeichnisbaum platzierst. Um die VNC Vorlagen-Datei zu kopieren, musst du den folgenden cp-Befehl mit Administratorrechten ausführen.
Wenn Ihr Benutzer nicht sudo-Berechtigungen erhält, wechseln Sie entweder direkt zum Root-Konto oder führen Sie den Befehl von einem Konto mit Root-Berechtigungen aus.
# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
4. Im nächsten Schritt bearbeiten Sie die kopierte VNC-Vorlagenskriptdatei aus dem /etc/systemd/system/ Verzeichnis und ersetzen Sie die folgenden Werte, um Ihren Benutzer wie im unten stehenden Beispiel widerzuspiegeln.
Der Wert von 1
nach dem @
Zeichen stellt die Anzeigenummer (Port 5900+display
) dar. Auch für jeden gestarteten VNC-Server wird der Port 5900 um 1 erhöht.
# vi /etc/systemd/system/vncserver@\:1.service
Fügen Sie die folgenden Zeilen zur Datei vncserver@:1.service hinzu.
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=tecmint Group=tecmint WorkingDirectory=/home/tecmint ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver %i -geometry 1280x1024 PIDFile=/home/tecmint/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target

5. Nachdem Sie die richtigen Änderungen am VNC-Dienstskript vorgenommen haben, laden Sie das systemd-Systeminitialisierungsprogramm neu, um die neue VNC-Konfigurationsdatei aufzunehmen und den TigerVNC Server zu starten.
Überprüfen Sie auch den VNC Dienststatus und aktivieren Sie den VNC-Daemon systemweit, indem Sie die folgenden Befehle ausführen.
# systemctl daemon-reload # systemctl start vncserver@:1 # systemctl status vncserver@:1 # systemctl enable vncserver@:1

6. Um die von dem VNC-Server geöffneten Ports im Lauschangriffszustand aufzulisten, führen Sie den ss-Befehl aus, der verwendet wird, um Netzwerksockel anzuzeigen. Da Sie nur eine Instanz des VNC-Servers gestartet haben, ist der erste offene Port 5901/TCP.
Wiederum muss der ss-Befehl mit root-Rechten ausgeführt werden. Falls Sie weitere VNC-Instanzen parallel für verschiedene Benutzer starten, ist der Portwert 5902 für den zweiten, 5903 für den dritten und so weiter. Die Ports 6000+ werden verwendet, um X-Anwendungen den Zugriff auf den VNC-Server zu ermöglichen.
# ss -tulpn| grep vnc

7. Um externen VNC-Clients das Verbinden mit dem VNC-Server zu ermöglichen, müssen Sie sicherstellen, dass die entsprechenden offenen VNC-Ports durch Ihre Firewall passieren können.
Falls nur eine Instanz des VNC-Servers gestartet wird, müssen Sie nur den ersten zugewiesenen VNC-Port öffnen: 5901/TCP, indem Sie die folgenden Befehle ausführen, um die Firewall-Konfiguration bei Laufzeit anzuwenden.
# firewall-cmd --add-port=5901/tcp # firewall-cmd --add-port=5901/tcp --permanent
Schritt 2: Herstellen einer Verbindung zum CentOS-Desktop über VNC-Client
8. Da es sich bei VNC um ein plattformunabhängiges Protokoll handelt, können Remote-Graphical User Interface VNC-Verbindungen von nahezu jedem Betriebssystem mit einer GUI und einem spezialisierten VNC-Client durchgeführt werden.
A popular VNC client used in Microsoft-based operating systems, fully compatible with Linux TigerVNC server, is the RealVNC VNC Viewer.
Um eine Fernverbindung zum CentOS Desktop von einem Microsoft-Betriebssystem über das VNC-Protokoll herzustellen, öffnen Sie das VNC Viewer-Programm, fügen Sie die IP-Adresse und den Portnummer des CentOS VNC-Servers hinzu und drücken Sie die [enter]-Taste.
Nachdem die VNC-Verbindung hergestellt wurde, sollte ein Warnhinweis angezeigt werden, der besagt, dass die Verbindung nicht verschlüsselt ist, wie in den unten stehenden Screenshots gezeigt.


9. Um die Warnung zu umgehen, klicken Sie auf die Continue-Schaltfläche, fügen Sie das für den VNC-Server bei Punkt 2 eingerichtete Passwort hinzu und Sie sollten eine Fernverbindung zum CentOS Desktop mit dem für die VNC-Serverinstanz konfigurierten Benutzer herstellen.


10. Falls eine neue Authentication-Nachricht auf Ihrem Bildschirm erscheint und Ihr Benutzer keine root-Berechtigungen hat, klicken Sie einfach auf die Cancel-Schaltfläche, um zum CentOS Desktop fortzufahren, wie in dem unten stehenden Screenshot gezeigt.

Beachten Sie, dass die etablierte VNC-Kommunikation zwischen dem Server und dem Client und jegliche ausgetauschten Daten (außer dem Passwort) über einen unverschlüsselten Kanal laufen. Um den VPN-Datentransfer zu verschlüsseln und abzusichern, müssen Sie zunächst einen sicheren SSH-Tunnel einrichten und alle nachfolgenden VPN-Verkehr über den SSH-Tunnel ausführen.
11. Um eine Fernverbindung zum CentOS Desktop über das VNC-Protokoll von anderen CentOS Desktops herzustellen, stellen Sie zunächst sicher, dass das vinagre-Paket auf Ihrem System installiert ist, indem Sie den folgenden Befehl ausführen.
$ sudo yum install vinagre
12. Um das Vinagre-Tool zu öffnen, navigiere zu Anwendungen -> Utilities -> Remote Desktop Viewer, wie im folgenden Screenshot gezeigt.

13. Um eine Remote-Verbindung zu einem CentOS-Desktop herzustellen, klicke auf die Verbindung-Schaltfläche, wähle das VNC-Protokoll aus der Liste aus und füge die IP-Adresse und den Port (5900 + Anzeige-Nummer) des Remote-VNC-Servers hinzu. Gib auch das für den VNC-Benutzer eingerichtete Passwort ein, wie in den folgenden Screenshots dargestellt.



14. Ein weiterer beliebter VNC-Client für Linux-basierte Plattformen ist Remmina, eine Remote-Desktop-Client, der insbesondere in Debian-basierten Distributionen verwendet wird, die die GNOME-Desktop-Umgebung ausführen.
Um den Remmina Remote Desktop-Client in Debian-basierten Distributionen zu installieren, führe den folgenden Befehl aus.
$ sudo apt-get install remmina
Schritt 3: Konfigurieren mehrerer VNC-Sitzungen unter CentOS
15. Falls Sie eine neue parallele VNC-Sitzung für denselben Benutzer ausführen möchten, öffnen Sie eine Terminalkonsole, melden Sie sich mit dem Benutzer an, den Sie für die neue VNC-Sitzung starten möchten, und führen Sie den folgenden Befehl aus.
Wenn Sie den Server zum ersten Mal starten, werden Sie aufgefordert, ein neues Passwort für diese Sitzung einzugeben. Beachten Sie jedoch, dass diese Sitzung mit den Berechtigungen des eingeloggt Benutzers und unabhängig vom gestarteten systemd VNC Server Sitzung läuft.
$ vncserver

16. Die neuen VNC-Sitzungen werden die nächsten verfügbaren VNC-basierten Ports öffnen (5900+3 Anzeige in diesem Beispiel). Um die geöffneten Ports anzuzeigen, führen Sie den Befehl ss ohne Root-Rechte aus, wie im folgenden Auszug dargestellt. Es werden nur die gestarteten VNC-Sitzungen aufgelistet, die Ihrem Benutzer gehören.
$ ss -tlpn| grep Xvnc

17. Verbinden Sie sich jetzt remote mit dem CentOS-Desktop über diese neue VNC-Sitzung und geben Sie die IP:Port-Kombination (192.168.1.23:5903) im VNC-Client ein, wie im folgenden Bild dargestellt.

Um die VNC-Serverinstanzen, die mit diesen eingeloggten Benutzerberechtigungen gestartet wurden, zu stoppen, geben Sie den folgenden Befehl ohne Root-Berechtigungen ein. Dieser Befehl zerstört alle gestarteten VNC-Instanzen, die nur dem Benutzer gehören, der sie gestartet hat.
$ su - your_user $ killall Xvnc
Das ist alles! Sie können nun auf Ihr CentOS-System zugreifen und administrative Aufgaben über die grafische Benutzeroberfläche ausführen, die vom Betriebssystem bereitgestellt wird.
Source:
https://www.tecmint.com/install-and-configure-vnc-server-in-centos-7/