25.7 Remote-Administration 

Rechner fernsteuern – das weiß nicht nur der Administrator zu schätzen, der seinen im Keller befindlichen Server warten muss. Außendienstmitarbeiter wünschen sich einen sicheren Zugriff auf das Firmennetzwerk, und Anfänger lassen sich von Experten über einen Remote-Desktop helfen.
Heutzutage gibt es unter Linux eine Vielzahl von Programmen, die den Zugriff auf einen entfernten Rechner vereinfachen. Auf diese Weise ist es auch problemlos möglich, dass Sie einem entfernten Freund helfen, indem Sie die Kontrolle über seinen Rechner übernehmen.
25.7.1 Empathy 

Wenn Sie und Ihr Gegenüber (dem Sie helfen möchten) beide Ubuntu einsetzen und auch jeweils einen XMPP-Chat-Account angemeldet haben, dann ist Empathy vielleicht das Programm der Wahl. Sie können mit diesem Instant Messenger auch Ihre Arbeitsumgebung (den Desktop) freigeben, so dass Ihnen jemand bei Bedarf quasi über den Messenger helfen kann. Für weitere Details verweise ich Sie auf Abschnitt »Empathy – Das Multitalent«.
25.7.2 Vinagre 

Den eigenen Desktop freigeben
Das Programm, das unter anderem für den Export Ihres Bildschirms verantwortlich ist, hört auf den Namen Vinagre. Im GNOME-Systemmenü finden Sie Vinagre über System • Einstellungen • Entfernter Bildschirm. Hier haben Sie die Möglichkeit, die Einstellungen für den Export Ihres Desktops zu verändern (siehe Abbildung).
Abbildung 25.6 Verschiedene Einstellungen des Bildschirmexports in »Vinagre«. Hier sehen Sie unter anderem die Adresse, unter der Ihr Rechner für andere erreichbar ist.
Aus Sicherheitsgründen empfehle ich Ihnen, die Nachfrage sowie das Passwort für den Client zu aktivieren. Wenn ein anderer Rechner dann Ihren Desktop erreichen möchte, erscheint eine Sicherheitsabfrage (siehe Abbildung).
Abbildung 25.7 Bei Kontaktaufnahme eines anderen Rechners werden Sie um Erlaubnis gebeten.
Einen anderen Rechner erreichen
Um einen anderen Desktop zu erreichen, benötigen Sie die IP-Adresse des entfernten Rechners. Vinagre ist standardmäßig installiert und kann durch mehrere Reiter parallel mehrere Verbindungen zu unterschiedlichen Servern aufbauen. Mit Kenntnis der Adresse Ihres Gegenübers öffnen Sie über Anwendungen • Internet • Betrachter für entfernte Bildschirme das zugehörige Programm (siehe Abbildung).
Abbildung 25.8 Hier sehen Sie zu Demonstrationszwecken einen grafischen Desktop-Export des eigenen Desktops zu demselben Rechner. Dies endet selbstverständlich in einer Endlosschleife.
Das Aufrufen des Desktop-Exports gelingt auch über die Konsole durch das Kommando
vinagre <Rechnername bzw. IP>:0
Nun müssen Sie gegebenenfalls das definierte Passwort eingeben und abwarten, ob Ihnen der Desktop-Besitzer den Zutritt gewährt (siehe Abbildung).
Abbildung 25.9 Geben Sie gegebenenfalls ein Kennwort ein, um Zugang zu einem entfernten Rechner zu erhalten.
IP-Adresse
Die IP-Adresse eines Rechners ist essentiell für die Verbindungsaufnahme. Als Benutzer von Ubuntu finden Sie Ihre eigene IP-Adresse heraus, indem Sie das Kommando ifconfig im Terminal ausführen. Sie erhalten dann beispielsweise bei einer WLAN-Verbindung Informationen über die Schnittstelle wlan0:
... wlan0 Link encap:Ethernet Hardware Adresse 00:1f:3c:86:fd:79 inet Adresse:192.168.1.6 Bcast:192.168.1.255 Maske:255.255.255.0 inet6-Adresse: fe80::21f:3cff:fe86:fd79/64 Gültigkeitsbereich:Verbindung ...
Sie können die IP-Adresse aber auch grafisch durch einen Rechtsklick auf den Network Manager (oben rechts im Panel) ermitteln. Wählen Sie im Kontextmenü den Punkt Verbindungsinformationen.
25.7.3 Weitere Programme zur Fernsteuerung 

Vinagre haben Sie kennengelernt. Es gibt jedoch viele andere Lösungen, mit deren Hilfe Sie Rechner fernsteuern können.
VNC
Der Export des Desktops gelingt auch mit Hilfe der Software VNC (Virtual Network Computing) und eignet sich hervorragend in pädagogischen Umgebungen, um Schülern, die Probleme mit der Software haben, unter die Arme zu greifen. Es gibt übrigens auch einen VNC-Viewer für Windows, mit dem auf einen laufenden Linux-Server zugegriffen werden kann. Sie finden das Programm unter www.realvnc.com/download.html.
Dadurch sparen Sie sich teure Zusatzsoftware, die Windows mit einem X-Server ausstattet, um per SSH-X-Tunneling auf einen Linux-Client zuzugreifen. Der umgekehrte Weg funktioniert übrigens auch ganz hervorragend (Abbildung).
Desktop-Export mit KDE
Auch KDE bringt einen entsprechenden Server mit, um per VNC die Oberfläche zu exportieren. Sie finden das entsprechende Programm unter System • Verbindung zu Fremdrechner • Arbeitsfläche freigeben. Das Frontend heißt krfb.
FreeNX
FreeNX ist der Shooting Star in der Szene, wenn es darum geht, grafische Benutzeroberflächen auf einem Client-PC auch über eine relativ schmalbandige Anbindung (z. B. Modem oder ISDN) zu nutzen. Wer jemals probiert hat, KDE über das eben beschriebene VNC-Interface per Modem fernzusteuern, weiß, wovon die Rede ist. Der quälend langsame Aufbau der Fenster sowie die kaugummizähen Reaktionen der Maus lassen hier keine wirkliche Freude an der Remote-Desktop-Nutzung aufkommen.
NX von Nomachine
NX wurde von der Firma Nomachine entwickelt. Der Client zur Verbindung mit einem NX-Server ist kostenlos, die Serversoftware selbst ist kostenpflichtig. Der Knoppix-Entwickler Fabian Franz hat zusammen mit Kurt Pfeifle den quelloffenen, freien FreeNX-Server programmiert, der mittlerweile auch für Ubuntu erhältlich ist. Der unglaublich schnelle Aufbau des Desktops sowie die unmittelbare Reaktionsfähigkeit beruhen auf den folgenden technischen Kniffen:
- Die Übertragung der grafischen Daten mit dem X-Protokoll erfolgt in Verbindung mit einer ausgeklügelten Datenkompression.
- Häufig benutzte grafische Elemente des Desktops werden lokal gespeichert (gecacht).
- Im Gegensatz zu VNC wird nicht der gesamte Desktop übertragen, sondern immer nur kleine Änderungen. Das Verfahren ist im weitesten Sinne vergleichbar mit dem MPEG-Kompressionsverfahren im Videobereich.
Abbildung 25.10 Ubuntu mit »VNC« von Windows aus fernsteuern
Tipp 298: Den Desktop über SSH exportieren
Nachdem Sie im Abschnitt »SSH« gelernt haben, wie Sie mit Hilfe der Secure Shell SSH auf einen weiteren Rechner per Konsole zugreifen, soll im Folgenden gezeigt werden, wie Sie auf diese Weise auch grafische Programme über das Netzwerk nutzen. Dazu wird ein sogenannter X-Tunnel via SSH aufgebaut. Starten Sie den SSH-Server auf dem Zielrechner (das kann über eine Konsolenverbindung geschehen), und loggen Sie sich von dem Clientrechner aus mittels ssh –X <Benutzername>@<Rechnername> ein. Das Benutzerpasswort müssen Sie bei der Nachfrage eingeben. Durch den Parameter -X wird das sogenannte X-Tunneling aktiviert. Dadurch werden grafische Anwendungen (also: X-Anwendungen) auch auf dem Client korrekt dargestellt. Sie können nun einmal testweise ein grafisches Terminal wie z. B. das gnome-terminal durch Eingabe des gleichnamigen Befehls nach dem Einloggen starten. Das neu gestartete Programm sollte dann auf dem Display des Clients erscheinen. Anschließend können Sie komplexere Programme wie Firefox oder Libreoffice testen. Beachten Sie, dass für den Start von KDE-Programmen auf dem Client-PC die entsprechenden KDE-Bibliotheken installiert sein müssen. Voraussetzung für derartige Experimente ist eine ausreichend schnelle Netzwerkanbindung beider PCs. Was im LAN flüssig abläuft, kann sich bei einer Modem- oder ISDN-Verbindung als viel zu träge für produktives Arbeiten erweisen. |
Die genannten Eigenschaften führen zu einer wesentlich geringeren CPU-Belastung auf der Serverseite. Unter Ubuntu wird FreeNX folgendermaßen konfiguriert: Zunächst ist es notwendig, ein externes Repository in die Paketverwaltung einzubinden. Dazu ergänzen Sie die folgende Zeile in der Datei
/etc/apt/sources.list:
deb http://ppa.launchpad.net/freenx-team/ubuntu lucid main deb-src http://ppa.launchpad.net/freenx-team/ubuntu lucid main
Nun können Sie mit Hilfe von Synaptic oder auf der Kommandozeile via sudo apt-get install freenx das Paket freenx installieren. Es sind hier an NX keine Konfigurationen nötig, um die Funktion zu gewährleisten. Wenn Sie trotzdem spezifische Konfigurationen vornehmen möchten, müssen Sie die folgende Datei /etc/nxserver/node.conf editieren. Sie haben hier beispielsweise Zugriff auf die Art des Schlüsseltyps und können weitere Nutzer hinzufügen.
Als Schlüsseltyp empfiehlt sich die Verwendung des Nomachine-Keys. Nun sollten Sie einen bestehenden Systembenutzer dem NX-Server bekannt machen und dessen Passwort setzen:
sudo nxserver --adduser <Benutzername> sudo nxserver --passwd <Benutzername> NX> 100 NXSERVER – Version 1.4.0-45-SVN OS (GPL) New password: Password changed. NX> 999 Bye
Jetzt können Sie sich bereits mit Hilfe eines NX-Clients auf dem Rechner einloggen.
Tipp 299: NX-Client für Windows
Windows-Anwender laden den freien Client von der Seite www.nomachine.com herunter und installieren diesen. Die Konfiguration der Clients ist selbsterklärend. Zur Aufnahme der Verbindung muss die oben gesetzte Login-Passwort-Kombination eingegeben werden. Als Desktop-System wird GNOME definiert (Abbildung). Nun können Sie sich auch unter Windows an der äußerst flotten Remote-Verbindung erfreuen. |
Abbildung 25.11 Konfiguration des »NX«-Clients, hier die Windows-Variante
25.7.4 Troubleshooting – Reverse VNC 

Was tun Sie, wenn wie heutzutage üblich das NAT eines Hardware-Routers Ihnen den Zugriff auf einen entfernten Rechner verweigert? Die Lösung dazu nennt man Reverse VNC. Dabei baut der VNC-Server eine Verbindung zu einem VNC-Client auf. Auf der Serverseite ist somit keine Port-Weiterleitung nötig. Beachten Sie aber, dass die Port-Weiterleitung auf dem Server und der Einsatz von DynDNS selbstverständlich weiterhin nötig sind.
Port-Weiterleitung
Sollten Sie selbst hinter einem Router sitzen, so müssen Sie einen Port vom Router auf den eigenen Rechner weiterleiten. Üblicherweise ist dies für VNC der Port 5500.
Um Reverse VNC nutzen zu können, muss die eigene IP-Adresse mit dem Programm fest verknüpft werden. Da die meisten DSL-Anbieter jedoch spätestens nach 24 Stunden die Einwahlverbindung trennen und beim erneuten Aufbau der Verbindung eine neue IP-Adresse zugewiesen wird, ist es hier wenig sinnvoll, eine IP-Adresse einzutragen.
DynDNS
Mit Hilfe eines DynDNS-Dienstleisters verknüpfen Sie die eigene IP-Adresse mit einem Domainnamen. Ein Programm auf dem eigenen Rechner/Router aktualisiert die IP-Adresse nach einem Wechsel beim DynDNS-Provider. Dadurch ist Ihr Rechner immer unter einer festen URL zu erreichen.
Der VNC-Server
Um es dem Gegenüber so leicht wie möglich zu machen, erstellen Sie einen VNC-Server, der einfach nur ausgeführt werden muss. Linux bringt standardmäßig alles mit. Wichtig ist lediglich die Installation des x11vnc-Servers:
sudo apt-get install x11vnc
Danach muss nur ein Kommando ausgeführt werden:
x11vnc -connect dyndns.example.com
Vorher sollte der VNC-Client im Listen-Modus gestartet sein:
vncviewer -listen
Und schon sehen Sie Ihren Desktop.