{{tag> linuxclient vnc fernzugriff remote tunnel}} ====== 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 '' 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 -L :: 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.