Virtual Network Computing (VNC) ist ein grafisches Desktop-Sharing-System, mit dem Sie Ihre Tastatur und Maus verwenden können, um einen anderen Computer aus der Ferne zu steuern. Es ist eine Open-Source-Alternative zum Microsoft Remote Desktop Protocol (RDP).
Dieser Artikel erklärt, wie Sie einen VNC-Server unter Ubuntu 20 installieren und konfigurieren.04. Wir zeigen Ihnen auch, wie Sie sich über einen SSH-Tunnel sicher mit dem VNC-Server verbinden.
Installieren der Desktop-Umgebung #
Ubuntu-Server werden über die Befehlszeile verwaltet und haben standardmäßig keine Desktop-Umgebung installiert. Wenn Sie die Desktop-Version von Ubuntu ausführen, überspringen Sie diesen Schritt.
In Ubuntu-Repositorys sind verschiedene Desktop-Umgebungen verfügbar. Eine Möglichkeit besteht darin, Gnome zu installieren, die Standard-Desktop-Umgebung in Ubuntu 20.04. Eine andere Möglichkeit ist die Installation von Xfce . Es ist eine schnelle, stabile und leichte Desktop-Umgebung, die es ideal für die Verwendung auf einem Remote-Server macht.
In dieser Anleitung installieren wir Xfce. Geben Sie als Benutzer mit sudo-Rechten die folgenden Befehle ein:
sudo apt-Update
sudo apt installieren xfce4 xfce4-goodies
Abhängig von Ihrem System kann das Herunterladen und Installieren von Xfce-Paketen einige Zeit in Anspruch nehmen.
VNC-Server installieren #
In Ubuntu-Repositorys sind mehrere verschiedene VNC-Server verfügbar, z. B. TightVNC , TigerVNC und x11vnc . Jeder VNC-Server hat unterschiedliche Stärken und Schwächen in Bezug auf Geschwindigkeit und Sicherheit.
Wir werden TigerVNC installieren. Es ist ein aktiv gewarteter Hochleistungs-VNC-Server. Geben Sie den folgenden Befehl ein, um das Paket zu installieren:
sudo apt install tigervnc-standalone-server
VNC-Zugriff konfigurieren #
Sobald der VNC-Server installiert ist, besteht der nächste Schritt darin, die anfängliche Benutzerkonfiguration zu erstellen und das Passwort einzurichten.
Legen Sie das Benutzerpasswort mit der fest vncpasswd
Befehl. Verwenden Sie sudo nicht, wenn Sie den folgenden Befehl ausführen:
vncpasswd
Sie werden aufgefordert, das Passwort einzugeben und zu bestätigen und ob es als schreibgeschütztes Passwort festgelegt werden soll. Wenn Sie ein schreibgeschütztes Passwort einrichten, kann der Benutzer nicht mit der VNC-Instanz mit der Maus und der Tastatur interagieren.
Passwort: Bestätigen: Möchten Sie ein schreibgeschütztes Passwort eingeben (j/n)? nein
Die Passwortdatei wird im ~/.vnc
Verzeichnis, das erstellt wird, wenn es nicht vorhanden ist.
Als nächstes müssen wir TigerVNC konfigurieren, um Xfce zu verwenden use. Erstellen Sie dazu die folgende Datei:
~/.vnc/xstartupNano ~/.vnc/xstartup
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4
Speichern und schließen Sie die Datei. Die obigen Befehle werden automatisch ausgeführt, wenn Sie den TigerVNC-Server starten oder neu starten.
Das ~/.vnc/xstartup
Datei muss auch Ausführungsberechtigungen haben. Verwenden Sie die chmod
Befehl zum Festlegen der Dateiberechtigungen:
chmod u+x ~/.vnc/xstartup
Wenn Sie zusätzliche Optionen an den VNC-Server übergeben müssen, erstellen Sie eine Datei mit dem Namen Konfiguration
und füge eine Option pro Zeile hinzu. Hier ist ein Beispiel:
Geometrie=1920x1080 dpi=96
Sie können nun den VNC-Server über die vncserver
Befehl:
vncserver
Neuer 'server2.linuxisieren.com:1 (linuxize)'-Desktop bei :1 auf Maschinenserver2.linuxisieren.com Starten von Anwendungen, die in /home/linuxize/ angegeben sind.vnc/xstartup Protokolldatei ist /home/linuxize/.vnc/server2.linuxisieren.com:1.log Verwenden Sie xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd :1 zum Verbinden mit dem VNC-Server.
Beachten Sie das :1
nach dem Hostnamen in der Ausgabe oben. Dies gibt die Nummer des Display-Ports an, auf dem der vnc-Server läuft. In diesem Beispiel läuft der Server auf dem TCP-Port 5901
(5900+1). Wenn Sie eine zweite Instanz erstellen mit vncserver
es läuft auf dem nächsten freien Port i.e :2
, was bedeutet, dass der Server auf Port läuft 5902
(5900+2).
Wichtig zu beachten ist, dass bei der Arbeit mit VNC-Servern, :X
ist ein Displayport, der sich auf bezieht 5900+X
.
Sie können eine Liste aller derzeit ausgeführten VNC-Sitzungen abrufen, indem Sie Folgendes eingeben:
vncserver -liste
TigerVNC-Serversitzungen: X DISPLAY # RFB PORT # PROCESS ID :1 5901 5710
Bevor Sie mit dem nächsten Schritt fortfahren, stoppen Sie die VNC-Instanz mit dem vncserver
Befehl mit a -töten
Option und die Servernummer als Argument. In diesem Beispiel läuft der Server in Port 5901 (:1
), also beenden wir es mit:
vncserver -kill :1
Killing Xtigervnc Prozess ID 5710… Erfolg!
Erstellen einer Systemd-Unit-Datei #
Anstatt die VNC-Sitzung manuell zu starten, erstellen wir eine systemd-Unit-Datei, damit Sie den VNC-Dienst nach Bedarf starten, stoppen und neu starten können.
Öffnen Sie Ihren Texteditor und kopieren Sie die folgende Konfiguration und fügen Sie sie ein. Stellen Sie sicher, dass Sie den Benutzernamen in Zeile 7 so ändern, dass er mit Ihrem Benutzernamen übereinstimmt.
sudo nano /etc/systemd/system/[email protected]
/etc/systemd/system/[email protected][Einheit] Description=Remote-Desktop-Dienst (VNC) After=syslog.Zielnetzwerk.target [Service] Type=simple User=linuxize PAMName=login PIDFile=/home/%u/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.Ziel
Speichern und schließen Sie die Datei.
Benachrichtigen Sie systemd, dass eine neue Unit-Datei erstellt wird:
sudo systemctl daemon-reload
Aktivieren Sie den Dienst zum Starten beim Booten:
sudo systemctl enable [email protected]
Die Nummer 1
nach dem @
sign definiert den Display-Port, auf dem der VNC-Dienst ausgeführt wird. Dies bedeutet, dass der VNC-Server auf Port lauscht 5901
, wie wir im vorherigen Abschnitt besprochen haben.
Starten Sie den VNC-Dienst, indem Sie Folgendes ausführen:
sudo systemctl starte [email protected]
Überprüfen Sie, ob der Dienst erfolgreich gestartet wurde mit:
sudo systemctl status [email protected]
● [email protected] - Remotedesktopdienst (VNC) Geladen: geladen (/etc/systemd/system/[email protected]; aktiviert; Herstellervoreinstellung: aktiviert) Aktiv: aktiv (läuft) seit Fr. 2021-03-26 20:00:59 UTC; vor 3s…
Verbindung zum VNC-Server #
VNC ist kein verschlüsseltes Protokoll und kann Paket-Sniffing unterliegen. Der empfohlene Ansatz besteht darin, einen SSH-Tunnel zu erstellen und den Datenverkehr von Ihrem lokalen Computer auf Port 5901 sicher an den Server auf demselben Port weiterzuleiten.
Einrichten von SSH-Tunneling unter Linux und macOS #
Wenn Sie Linux, macOS oder ein anderes Unix-basiertes Betriebssystem auf Ihrem Computer ausführen, können Sie mit dem folgenden Befehl ganz einfach einen SSH-Tunnel erstellen:
ssh -L 5901:127.0.0.1:5901 -N -f -l Landstreicher 192.168.33.10
Sie werden aufgefordert, das Benutzerpasswort einzugeben.
Stellen Sie sicher, dass Sie ersetzen Nutzername
und Server IP Adresse
mit Ihrem Benutzernamen und der IP-Adresse Ihres Servers.
SSH-Tunneling unter Windows einrichten #
Wenn Sie Windows ausführen, können Sie SSH-Tunneling mit dem PuTTY-SSH-Client einrichten .
Öffnen Sie Putty und geben Sie Ihre Server-IP-Adresse in das ein Hostname oder IP-Adresse
Feld.
Unter dem Verbindung
Menü, Kasten, erweitern SSH
, und wählen Sie Tunnel
. Geben Sie den VNC-Server-Port ein (5901
) in dem Quellport
Feld und geben Sie ein server_ip_address:5901
in dem Ziel
Feld und klicken Sie auf das Hinzufügen
Schaltfläche wie im Bild unten gezeigt:
Gehen Sie zurück zum Session
Seite, um die Einstellungen zu speichern, damit Sie sie nicht jedes Mal neu eingeben müssen. Wählen Sie zum Remote-Server die gespeicherte Sitzung aus und klicken Sie auf das Öffnen
Taste.
Verbinden mit Vncviewer #
Nachdem der SSH-Tunnel erstellt wurde, ist es an der Zeit, Ihren Vncviewer zu öffnen und eine Verbindung zum VNC-Server herzustellen connect localhost:5901
.
Sie können jeden VNC-Viewer wie TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre und VNC Viewer für Google Chrome verwenden .
Wir werden TigerVNC verwenden. Öffnen Sie den Viewer, geben Sie ein localhost:5901
, und klicke auf Verbinden
Taste.
Geben Sie Ihr Benutzerkennwort ein, wenn Sie dazu aufgefordert werden, und Sie sollten den Standard-Xfce-Desktop sehen. Es wird ungefähr so aussehen:
Sie können mit dem Remote-XFCE-Desktop von Ihrem lokalen Computer aus mit Ihrer Tastatur und Maus interagieren.
Fazit #
Wir haben Ihnen gezeigt, wie Sie einen VNC-Server unter Ubuntu 20 installieren und konfigurieren.04.
Um Ihren VNC-Server so zu konfigurieren, dass er eine Anzeige für mehr als einen Benutzer startet, erstellen Sie die Erstkonfiguration und richten Sie das Passwort mit dem vncpasswd
Befehl. Sie müssen auch eine neue Servicedatei mit einem anderen Port erstellen.
Bei Fragen gerne einen Kommentar hinterlassen.