Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:linuxclient:vnc]] 

VNC - Server auf dem Ubuntuclient 12.04

In Folgendem wird beschrieben, wie man auf einem Ubuntu 12.04 - Client (mit Lightdm als Displaymanager!) VNC installiert und konfiguriert, so dass ein „abgesicherter“, graphischer Zugriff von extern möglich ist.

1. Installation

Am Client als linuxadmin (lokaler Administrator) anmelden, Datenbank aktualisieren und x11vnc installieren.

sudo apt-get update && sudo apt-get install x11vnc

2. Konfiguration

Der Zugriff über VNC muss durch ein Passwort abgesichert werden. Damit dieses nicht einfach ausgelesen werden kann, wird es nur als Hash gespeichert.

sudo x11vnc -storepasswd /etc/x11vnc.pass

Als nächstes muss ein Upstart-Job erzeugt werden, damit der VNC - Server schon vor dem Login mit den erforderlichen Optionen gestartet wird.

…dazu eine init-Skriptdatei erzeugen…

 sudo touch /etc/init/x11vnc.conf

…und mit folgendem Inhalt füllen…

start on login-session-start
script
/usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /etc/x11vnc.pass -forever -bg -rfbport 5905 -o /var/log/x11vnc.log
end script

In der Option: -rfbport <Port> kann man einen anderen VNC-Port wählen. Der Standard-VNC-Port 5900 und der Port 5901 sind allerdings ggf. schon durch iTalc belegt, sofern dieses installiert ist.

Jetzt kann schon mit Hilfe eines VNC-Clients auf Client-hostname:5 zugegriffen werden, allerdings ohne Verschlüsselung, daher höchstens innerhalb des pädagogischen Netzwerks vertretbar. Und selbst dort:

3. Verbindung über ssh

Da das VNC-Protokoll keine Verschlüsselung beinhaltet muss der Zugriff über das Internet/von Außen auf den Client per ssh abgesichert werden!!

Dazu muss für den oben gewählten Port ein ssh-Tunnel bei der Verbindung zum Server angelegt werden. Hier ein allgemeingehaltenes Beispiel, wie das von einem Linuxclient aus (über das externe Interface des Servers) funktioniert:

ssh -l root -p 2222 <Serverip oder dyndns-Adresse> -L <lokalerPort>:<Clientip>:<QuellPort von x11vnc>

Und im konkreten Beispiel:

ssh -l root -p 2222 unsere-musterlösung-extern.de -L 5900:r302pc01:5905

Jetzt kann man mit Hilfe dieses ssh-Tunnels einen VNC-Client zu Hause auf den server localhost:0 bzw. localhost mit Port 5900 konfigurieren um den Inhalt von r302pc01 zu sehen.

Temporär VNC-Einblick gewähren

Statt obiger Installation von x11vnc kann auch vnc4server bzw. tightvncserver installiert werden, dann kann man auf dem Client als root folgende Befehle ausführen.

# cp  /var/run/lightdm/root/\:0 .Xauthority
# x0vnc4server -display=:0 -SecurityTypes=None

Was zu einem sofortigen passwortlosen Zugang per VNC-Client auf diesen Client mit Port 5900 führt.

Die obige Warnung gilt hier ebenso, zumal - noch schlimmer - jeder Schüler Zugriff auf den VNC-Client hat. Es empfiehlt sich hier -SecurityTypes=None durch einen Passwort-geschützen Zugang zu ersetzen.
 [[anwenderwiki:linuxclient:vnc]] anwenderwiki/linuxclient/vnc.txt · Zuletzt geändert: 2020/02/02 22:30 von martin.res