Website-Suche

So installieren und konfigurieren Sie den VNC-Server in CentOS und RHEL


In dieser Anleitung erklären wir, wie Sie VNC Remote Access auf dem CentOS 7/8- und RHEL 9/8/7-Desktop installieren und konfigurieren Edition über das Programm tigervnc-server, um auf Remote-Desktop-Maschinen zuzugreifen.

VNC (Virtual Network Computing) ist ein Server-Client-Protokoll, das es Benutzerkonten ermöglicht, eine Fernverbindung zu einem entfernten System herzustellen und dieses zu steuern, indem es die von der grafischen Benutzeroberfläche bereitgestellten Ressourcen nutzt.

Im Gegensatz zu anderen verfügbaren VNC-Servern, die eine direkte Verbindung zum Laufzeitdesktop herstellen, wie z. B. VNC X oder Vino, tigervnc-vncserver > verwendet einen anderen Mechanismus, der für jeden Benutzer einen eigenständigen virtuellen Desktop konfiguriert.

Anforderungen

  • Installation von CentOS 8 mit Screenshots
  • CentOS 7-Installationsverfahren
  • So installieren Sie RHEL 9 kostenlos
  • So installieren Sie RHEL 8 kostenlos
  • RHEL 7-Installationsverfahren

Schritt 1: VNC unter CentOS installieren und konfigurieren

1. Tigervnc-server ist ein Programm, das einen Xvnc-Server ausführt und parallele Sitzungen von Gnome oder einem anderen Desktop startet Umgebungen auf dem VNC-Desktop.

Auf eine gestartete VNC-Benutzersitzung kann derselbe Benutzer von mehreren VNC-Clients aus zugreifen. Um den TigerVNC-Server in CentOS/RHEL zu installieren, öffnen Sie eine Terminalsitzung und geben Sie den folgenden yum-Befehl mit Root-Rechten ein.

sudo yum install tigervnc-server

2. Nachdem Sie das Programm installiert haben, melden Sie sich mit dem Benutzer an, unter dem Sie das VNC-Programm ausführen möchten, und geben Sie den folgenden Befehl im Terminal ein, um a zu konfigurieren Passwort für den VNC-Server.

Beachten Sie, dass das Passwort mindestens sechs Zeichen lang sein muss.

su - your_user
vncpasswd

3. Fügen Sie als Nächstes eine VNC-Dienstkonfigurationsdatei für Ihren Benutzer über eine Daemon-Konfigurationsdatei hinzu, die im systemd-Verzeichnisbaum abgelegt wird. Um die VNC-Vorlagendatei zu kopieren, müssen Sie den folgenden cp-Befehl mit Root-Rechten ausführen.

Wenn Ihrem Benutzer keine Sudo-Berechtigungen gewährt werden, 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  /etc/systemd/system/vncserver@:1.service

4. Bearbeiten Sie im nächsten Schritt die kopierte VNC-Vorlagenkonfigurationsdatei aus dem Verzeichnis /etc/systemd/system/ und ersetzen Sie die folgenden Werte, um Ihren Benutzer widerzuspiegeln, wie unten gezeigt Probe.

Der Wert von 1 nach dem @-Zeichen stellt die Anzeigenummer dar (Port 5900+display). Außerdem wird für jeden gestarteten VNC-Server der Port 5900 um 1 erhöht.

vi /etc/systemd/system/vncserver@\:1.service

Fügen Sie der Datei vncserver@:1.service die folgenden Zeilen 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 an der VNC-Dienstdatei vorgenommen haben, laden Sie das Systeminitialisierungsprogramm systemd neu, um die neue VNC-Konfigurationsdatei abzurufen und den TigerVNC-Server zu starten.

Überprüfen Sie außerdem 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 geöffneten Ports im Überwachungsstatus aufzulisten, die dem VNC-Server gehören, führen Sie den Befehl ss aus, der zum Anzeigen von Netzwerk-Sockets verwendet wird. Da Sie nur eine Instanz des VNC-Servers gestartet haben, ist der erste offene Port 5901/TCP.

Auch hier muss der ss-Befehl mit Root-Rechten ausgeführt werden. Falls Sie andere VNC-Instanzen parallel für verschiedene Benutzer starten, lautet der Portwert 5902 für die zweite, 5903 für die dritte und so weiter. Die Ports 6000+ werden verwendet, um den X-Anwendungen die Verbindung zum VNC-Server zu ermöglichen.

ss -tulpn| grep vnc

7. Damit externe VNC-Clients eine Verbindung zum VNC-Server herstellen können, müssen Sie sicherstellen, dass die richtigen offenen VNC-Ports Ihre Firewall passieren dürfen.

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 zur Laufzeit anzuwenden.

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

Schritt 2: Herstellen einer Verbindung mit CentOS Desktop über den VNC-Client

8. Da es sich um ein plattformunabhängiges Protokoll handelt, können Remote-Verbindungen mit der grafischen Benutzeroberfläche von nahezu jedem Betriebssystem mit einer grafischen Benutzeroberfläche und einem speziellen VNC-Client hergestellt werden.

Ein beliebter VNC-Client, der in Microsoft-basierten Betriebssystemen verwendet wird und vollständig mit dem Linux TigerVNC-Server kompatibel ist, ist der RealVNC VNC Viewer.

Um von einem Microsoft-Betriebssystem über das VNC-Protokoll eine Remoteverbindung zu CentOS Desktop herzustellen, öffnen Sie das Programm VNC Viewer, fügen Sie die IP-Adresse und Portnummer des CentOS VNC-Servers hinzu und Drücken Sie die [Enter]-Taste.

Nachdem die VNC-Verbindung hergestellt wurde, sollte auf Ihrem Bildschirm eine Warnung angezeigt werden, dass die Verbindung nicht verschlüsselt ist, wie in den folgenden Screenshots dargestellt.

9. Um die Warnung zu umgehen, klicken Sie auf die Schaltfläche Weiter, fügen Sie bei Punkt 2 das Passwort-Setup für den VNC-Server hinzu und Sie sollten mit CentOS Desktop remote verbunden sein Der Benutzer, der für die Ausführung der VNC-Serverinstanz konfiguriert ist.

10. Falls eine neue Meldung zur Authentifizierung auf Ihrem Bildschirm erscheint und Ihr Benutzer keine Root-Rechte hat, klicken Sie einfach auf die Schaltfläche Abbrechen, um mit CentOS fortzufahren Desktop, wie im folgenden Screenshot gezeigt.

Beachten Sie, dass die etablierte VNC-Kommunikation zwischen Server und Client sowie alle ausgetauschten Daten (außer dem Passwort) über einen unverschlüsselten Kanal laufen. Um die VPN-Datenübertragung zu verschlüsseln und zu sichern, müssen Sie zunächst einen sicheren SSH-Tunnel einrichten und den nachfolgenden VPN-Verkehr über den SSH-Tunnel leiten.

11. Um über das VNC-Protokoll von anderen CentOS-Desktops aus eine Remote-Verbindung zu CentOS Desktop herzustellen, stellen Sie zunächst sicher, dass das Paket vinagre auf Ihrem System installiert ist, indem Sie den folgenden Befehl ausführen.

sudo yum install vinagre

12. Um das Dienstprogramm vinagre zu öffnen, gehen Sie zu Anwendungen -> Dienstprogramme -> Remote Desktop Viewer, wie im folgenden Screenshot gezeigt.

13. Um eine Remoteverbindung zu einem CentOS-Desktop herzustellen, klicken Sie auf die Schaltfläche Verbinden, wählen Sie das VNC-Protokoll aus der Liste aus und fügen Sie die IP-Adresse hinzu und Port (5900+Anzeige-Nummer) des Remote-VNC-Servers. Geben Sie außerdem das Passwort-Setup für den VNC-Benutzer an, wie in den folgenden Screenshots dargestellt.

14. Ein weiterer beliebter VNC-Client für Linux-basierte Plattformen ist Remmina, ein Remote-Desktop-Client, der insbesondere in Debian-basierten Distributionen verwendet wird, auf denen die GNOME-Desktop-Umgebung ausgeführt wird.

Um den Remmina Remote Desktop-Client in Debian-basierten Distributionen zu installieren, geben Sie den folgenden Befehl ein.

sudo apt-get install remmina

Schritt 3: Konfigurieren Sie mehrere VNC-Sitzungen auf CentOS

15. Falls Sie eine neue parallele VNC-Sitzung unter demselben Benutzer ausführen müssen, öffnen Sie eine Terminalkonsole, melden Sie sich mit dem Benutzer an, mit dem Sie 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 Ihren angemeldeten Benutzerberechtigungen und unabhängig von der gestarteten systemd-VNC-Serversitzung ausgeführt wird.

vncserver

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

ss -tlpn| grep Xvnc

17. Stellen Sie nun mithilfe dieser neuen VNC-Sitzung eine Remote-Verbindung zu CentOS Desktop her und geben Sie die IP:Port-Kombination (192.168.1.23:5903) im VNC-Client an, wie in der folgenden Abbildung dargestellt.

Um die mit diesen angemeldeten Benutzerberechtigungen gestarteten VNC-Serverinstanzen zu stoppen, geben Sie den folgenden Befehl ohne Root-Rechte ein. Dieser Befehl zerstört alle gestarteten VNC-Instanzen, die nur dem Benutzer gehören, der sie angegeben hat.

su - your_user
killall Xvnc

Das ist alles! Sie können nun über die vom Betriebssystem bereitgestellte grafische Benutzeroberfläche auf Ihr CentOS-System zugreifen und Verwaltungsaufgaben ausführen.