23.8 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 problemlos möglich, dass Sie etwa einem entfernten Freund helfen, indem Sie die Kontrolle über seinen Rechner übernehmen.
23.8.1 Empathy
Wenn Sie und Ihr Gegenüber (dem Sie helfen möchten) beide Ubuntu einsetzen und zudem jeweils einen XMPP-Chat-Account angemeldet haben, dann ist Empathy 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 8.4.1, »Empathy – das Multitalent«.
23.8.2 Remmina
Den eigenen Desktop freigeben
Das Programm, das unter anderem für den Export Ihres Bildschirms verantwortlich ist, hört auf den Namen Remmina. Im Menü finden Sie Remmina über Anwendungen • Freigabe der Arbeitsfläche. Hier haben Sie die Möglichkeit, die Einstellungen für den Export Ihres Desktops zu verändern (siehe Abbildung 23.9).
Abbildung 23.9 Verschiedene Einstellungen des Bildschirmexports in »Remmina«. Hier sehen Sie auch 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 23.10).
Abbildung 23.10 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. Remmina 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 • Zugriff auf entfernte Arbeitsflächen das zugehörige Programm (siehe Abbildung 23.11).
Abbildung 23.11 Hier sehen Sie zu Demonstrationszwecken einen grafischen Desktop-Export des eigenen Desktops zu demselben Rechner. Dies endet selbstverständlich in einer Endlosschleife.
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.
23.8.3 Weitere Programme zur Fernsteuerung
Remmina 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). Sie eignet sich hervorragend in pädagogischen Umgebungen, um Schülern, die Probleme mit der Software haben, unter die Arme zu greifen. Es gibt übrigens 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 ebenfalls ganz hervorragend (Abbildung 23.12).
FreeNX
FreeNX ist der Shooting Star in der Szene, wenn es darum geht, grafische Benutzeroberflächen auf einem Client-PC selbst über eine relativ schmalbandige Anbindung (zum Beispiel Modem oder ISDN) zu nutzen. Wer jemals probiert hat, Ubuntu ü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 23.12 Ubuntu mit »VNC« von Windows aus fernsteuern
Tipp 299: Den Desktop über SSH exportieren |
Nachdem Sie in Abschnitt 18.1.2, »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 zum Beispiel 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 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.
23.8.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. Serverseitig 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 und VNC-Server
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. 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.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.