News
Serverspace Technologien in den VAE: Einführung von Falconcloud
WB
William Bell
27. Mai 2020
Aktualisiert Juni 7, 2023

Installieren und Konfigurieren eines VNC-Servers auf CentOS 7

CentOS

In dieser Anleitung sehen wir uns an, wie man einen VNC-Server auf dem installiert und konfiguriert CentOS 7.x-Betriebssystem, um Remoteverbindungen von jedem VNC aus zu ermöglichen cliEntitäten wie TightVNC, RealVNC und andere. Dies tun wir insbesondere mit der Software TigerVNC Server, einem kostenlosen Tool, das die Verwendung eines eigenständigen virtuellen Desktops ermöglicht.

Einleitung

VNC (Virtual Network Computing) ist ein client-Server-Protokoll, das a cliEnt-Computer (auf dem ein VNC ausgeführt wird client), um einen Remote-Computer (der auf einem VNC-Server läuft) zu verbinden und zu steuern. Die Software wurde von Olivetti & entwickelt. Oracle Forschungslabor in Cambridge, Großbritannien, und sein Quellcode ist immer noch aktuell und unter der General Public License (GNU) verfügbar.

Abhängig von der Serversoftware ist der VNC client stellt eine Verbindung zum aktiven Desktop her (z. B. als TeamViewer- oder AnyDesk-Programm).rams) oder ein eigenständiger virtueller Desktop (wie der Windows RDP Remote-Desktop-Protokoll). Letzteres ist möglicherweise leistungsfähiger und sicherer, insbesondere wenn Sie den Servercomputer verwalten müssen, da jede Sitzung eine einzigartige Umgebung darstellt, die mit den Berechtigungen und Rechten des verbundenen Benutzers konfiguriert wird. Deshalb entscheiden wir uns für TigerVNC, das parallele Sitzungen der Desktop-Umgebung des Computers (GNOME, KDE oder eine andere GUI) ausführt: Das bedeutet, dass für jede Verbindung ein virtueller Desktop erstellt wird – genau das wollen wir.

TigerVNC installieren

Sehen wir uns nun an, wie wir TigerVNC installieren und konfigurieren können CentOS. Als erstes müssen Sie das TigerVNC Server-Programm installierenram 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 Passwort). 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, dem Root-Benutzer keinen Zugriff auf VNC zu lassen und ein dediziertes Konto mit eingeschränkten Rechten einzurichten.

Nachdem Sie vncuser erstellt und ein Passwort für die Anmeldung festgelegt haben, müssen Sie auch ein eindeutiges VNC-Passwort 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 zu kopieren, die sich im befindet /lib/systemd/system/ Ordner und ändern Sie ihn dann:

$ cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

Die Zahl 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 dadurch auch der TCP-Port bestimmt wird, der von unserem VNC-Server verwendet wird, gleich 5900 + Anzeigenummer. Die erste ist 5901, dann 5902 und so weiter.

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

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]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 || :'
[Install]
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 Folgendes eingeben Systemctl-Status Befehl:

$ systemctl status vncserver@:1

und erstellen Sie mit dem folgenden Befehl einen symbolischen Link, damit er immer beim Systemstart ausgeführt wird:

$ 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 Netzwerk-Sockets mithilfe von zu überprüfenssBefehl: Wenn alles korrekt funktioniert, sollten Sie sehen, dass der VNC-Server funktioniert und den 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 Benutzer zugänglich ist clients. Wenn Sie also eine haben firewall installiert ist, müssen Sie eine entsprechende Regel erstellen, die VNC zulässt cliEnts zu verbinden.

Wie viele Ports geöffnet werden müssen, hängt davon ab, wie viele VNC-Serverinstanzen Sie benötigen. In unserem Szenario haben wir nur 1 ausgeführt, Sie müssen also nur den ersten dedizierten VNC-Port öffnen: TCP 5901, wie bereits erwähnt. Der Befehl zum Öffnen dieses Ports 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 Dinge beschränken können firewall Regeln.

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-Schnittstelle wünschen, geben Sie Folgendes ein:

$ sudo yum groupinstall "GNOME Desktop"

Xfce

Wenn Sie eine leichte Änderung benötigennative können wir Xfce anbieten, eine kostenlose Open-Source-Umgebung für Unix-ähnliche Plattformen, die hervorragend mit TigerVNC funktioniert. GNOME funktioniert ebenfalls hervorragend, ist jedoch recht ressourcenintensiv: Wenn Sie Ressourcen auf Ihrem Serverrechner 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 sich entscheiden, zu verwenden, Xfce, müssen Sie auch die Datei ändern, die beim Start der VNC-Sitzung ausgeführt wurde. Bearbeiten Sie dazu die Datei /heim/ /.vnc/xstartup und ändern Sie den Exec-Eintrag (normalerweise Zeile 4) von etc/X11/xinit/xinitrc zu startxfce4, Wie nachfolgend dargestellt:

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

VNC cliEnt-Verbindung

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

Mögliche Probleme

Wenn dein cliWenn der Benutzer keine funktionierende VNC-Verbindung herstellen kann, müssen Sie Folgendes überprüfen:

1. Verbindungsprobleme - Firewall Konfiguration: Wenn Sie Popup-Fehler sehen, die das cliWenn ent keine Verbindung zum Remote-Host herstellen kann, müssen Sie Ihr Netzwerk überprüfen firewall Konfiguration, um sicherzustellen, dass es keine Blockierungsprobleme gibt, die das verhindern könnten cliverhindert, dass eine Verbindung zum TCP-Server-Port 5901 hergestellt wird.

2. Schwarzer Bildschirm mit der Maus – YUM aktualisieren oder GUI neu installieren: Wenn Sie einen schwarzen Bildschirm mit einem funktionierenden Mauszeiger sehen, bedeutet das wahrscheinlich, dass Ihre VNC-Verbindung einwandfrei funktioniert, aber es gibt etwas, das verhindert, dass die GUI ordnungsgemäß auf dem Desktop startet. Zur Korrektur:

  • Führen Sie yum update aus, um die neuesten Versionen von TigerVNC und der GUI selbst zu installieren. Achten Sie darauf, alle während der Installationsphase auftretenden Probleme im Auge zu behalten.
  • Deinstallieren Sie die GUI und installieren Sie sie erneut mit dem Befehl lecker entfernen / leckere Gruppe entfernen und Lecker Gruppeninstallation wieder. Wenn immer noch nichts funktioniert, können Sie versuchen, eine andere GUI zu installieren.

Abstimmung:
5 aus 5
Durchschnittliche Bewertung: 5
Bewertet von: 2
1101 CT Amsterdam Niederlande, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Wir verwenden Cookies, um Ihr Erlebnis auf der Website zu verbessern Serverspace besser. Indem Sie weiterhin auf unserer Website surfen, stimmen Sie unseren zu
Cookies und Datenschutzbestimmungen.