Jeder, der schon einmal vor dem Problem stand, auf einem entfernten Linux/Unix-Rechner größere Arbeiten an Konfigurationsdateien vorzunehmen oder Webseiten zu bearbeiten, wird sich gewünscht haben, den gewohnten grafischen Editor zu benuzen, statt sich mit vi und Co. auf dem entfernten Rechner herumzuschlagen. Nun habe ich mich ja schon als warmgeduschter nedit-Benutzer geoutet, weshalb ich jetzt einfach die Benutzung dieses Editors auf einem entfernten Rechner als Beispiel benutzen werde. Natürlich geht das auch mit jeder anderen X11-Anwendung, die auf dem entfernten Rechner installiert ist. So ist z.B. auch ein graphischer YaST-Aufruf möglich, um auf der entfernten Maschine ein Online-Update oder andere Wartungsaufgaben wahrzunehmen, wenn man die ncurses-Text-Version von YaST nicht mag.
Also, was ist zu tun? Voraussetzung ist, dass auf dem entfernten Rechner, nennen wir ihn paul, ein ssh-daemon läuft. Zusätzlich müssen auf paul libX.so und xauth exisieren. Weiterhin muss in /etc/ssh/sshd_config der Eintrag ForwardX11=yes stehen. Ach ja, natürlich sollten auch die gewünschten X11-Anwendungen installiert sein und es sollte eine Netzwerkverbindung zum lokalen Rechner, nennen wir ihn knut, exisieren.
Dann startet man auf dem lokalen Rechner (knut) die graphische Oberfläche, wenn sie nicht schon läuft. Bei diesem Verfahren ist es übrigens egal, welche Oberfläche man wählt, die per ssh-Tunnel aufgerufene Anwendung versorgt sich mit allem Nötigen auf dem entfernten Rechner (paul). Der Aufruf vollzieht sich dann wie folgt:
knopp@knut: $ export DISPLAY=:0 knopp@knut: $ ssh -X paul knopp@paul: $ echo $DISPLAY localhost:10.0 knopp@paul: $ nedit &
Das war’s schon. Abhängig von der Geschwindigkeit der Netzwerkverbindung und der Größe des aufgerufenen Programmes erscheint kurz danach das Programmfenster auf dem lokalen Desktop und man kann losarbeiten. Dabei sollte man immer im Hinterkopf haben, dass man sich mit diesem Programm nicht auf dem lokalen Rechner befindet. Wenn man eine Textdatei in den Editor laden will, wird das Dateisystem des entfernten Rechners angezeigt, schliesslich befindet man sich ja per ssh gerade dort. Andererseits kann man wunderbar per „cut & paste“ Textteile von einem lokalen Editorfenster ins entfernte kopieren.
Bei längeren Sitzungen empfiehlt sich regelmässiges Sichern der bearbeiteten Dateien, denn wenn die Netzwerkverbindung zusammenbricht oder anderweitig beendet wird, verschwindet auch das Programmfenster auf dem lokalen Desktop. Nichtsdestotrotz bleibt das X11-Tunneling per ssh eine komfortable Möglichkeit, auf entfernten Rechnern graphische Anwendungen relativ sicher auszuführen. Durch den ssh-Tunnel ist eine dauernd verschlüsselte Verbindung gewährleistet, es können also keine Daten von anderen ausgespäht werden.
Wer noch mehr über die Anwendungsmöglichkeiten von ssh erfahren will, sollte sich die manpages von ssh vornehmen oder z.B. mal die OpenSSH-Vorträge von Johannes Franken