X-Anwendungen mit SSH forwarden

Aus DebianforumWiki
Wechseln zu: Navigation, Suche
WikiNetzwerk ‹ X-Anwendungen mit SSH forwarden


LizenzOffen.png Lizenz: Dieser Artikel wurde als problematisch in Bezug auf der Lizenz markiert, dafür kann es verschiedene Gründe geben:
  • die Lizenz des Ursprünglichen Artikels ist unbekannt oder nicht kompatiblen mit der CC by SA
  • durch die Migration wurden der/die ursprüngliche(n) Autor(en) aus der History gelöscht
  • es wurden Inhalte ohne Zustimmung des ursprünglichen Autors übernommen
  • es gibt andere urheberrechtliche Bedenken gegen diesen Artikel.

Bitte hilf mit alle diese Fragen zunächst zu klären, danach kann dieser Hinweis entfernt werden.


Getestet.png Getestet: Dieser Hinweis soll dir dabei helfen, zu entscheiden, ob dieser Artikel auf deinem System funktionieren wird oder nicht. Solltest du feststellen, dass dieser Artikel bei einer ungetestet Version funktioniert, kannst du das gerne hier korrigieren oder im Forum anmerken.


Ziel dieser Anleitung ist es, eine X bzw. grafische Anwendung über SSH zu tunneln, so dass sie auf einem anderen Rechner dargestellt wird als sie in Wirklichkeit läuft. Was hier (noch) nicht behandelt wird ist wie man einen ganzen window manager (kde, gnome etc.) über das Netzwerk tunnelt.

Voraussetzungen

  • 2 Debian-Rechner, die über ein Netzwerk verbunden sind. Auf beiden Rechnern muss das Paket Debianpackage.png ssh installiert sein.
  • Auf dem Rechner mit Bildschirm müssen ein X-Window-System sowie ein window manager installiert sein.
  • Auf dem Rechner, wo die Anwendung ausgeführt, aber nicht angezeigt wird, muss mindestens Debianpackage.png xauth installiert sein (außerdem zu empfehlen ist Debianpackage.png xterm, und Debianpackage.png xbase-clients das eine Reihe kleiner mehr oder weniger nützliche X-Programme enthält). Ein Anfänger kann aber auch ganz einfach ein komplettes X-Window-System inkl. window manager auf den ihm geläufigen Weg installieren.

X11 forwarding konfigurieren

Auf dem Server-Rechner muss man jetzt das X11 forwarding aktivieren. Dazu als Root eingeloggt, in der Datei /etc/ssh/sshd_config nach der Zeile

X11Forwarding no

suchen und das no durch yes ersetzen.

Anschließend die Konfiguration vom ssh-Dienst neu einlesen:

root@debian:~# service ssh reload
Hinweis.png Hinweis: In der default Konfiguration sollte X11Forwarding bereits yes sein.


SSH-Sitzung aufbauen

Dann von dem Rechner mit dem Bildschirm aus eine SSH-Sitzung aufbauen - natürlich user und host mit den eigenen Werten ersetzen.

user@debian:~$ ssh -X user@host

Das -X setzt auf dem Rechner, auf dem man sich einloggt, die Umgebungsvariable $DISPLAY. Dadurch wird bewirkt, dass die grafische Ausgabe auf dem anderen Rechner stattfindet.

Zum Testen kann man ja mal

user@debian:~$ echo $DISPLAY

eingeben. Es sollte etwas ähnliches wie localhost:10.0 ausgegeben werden.

In einigen Tutorials wird auch empfohlen, mittels des export-Befehls die IP des Rechners mit dem Bildschirm in der $DISPLAY-Variable zu hinterlegen. Allerdings ist die Übertragung dann nicht verschlüsselt und das X-Window-System müsste entsprechend konfiguriert werden.

Zum Starten einer Anwendung in der Konsole den Namen, z.B. xclock oder xterm, eingeben. Die Anwendung sollte dann auf dem lokalen Rechner angezeigt werden. Wenn das geklappt hat, kann man es auch mit anderen Anwendungen versuchen.

Ein Auszug der Syntax von /usr/bin/ssh:

ssh [user@]hostname [command]

Folgender Befehl startet also bspw. direkt das Programm x-terminal-emulator e.g. Debianpackage.png xterm, auf dem entfernten System. Zeigt das Fenster aber lokal an:

user@debian:~$ ssh -X user@host x-terminal-emulator

Alternativen

  • Ein weiteres Programm, das sehr gut für den Remotezugriff geeignet sein soll ist FreeNX.
  • Als vergleichsweise einfache Möglichkeit, remote auch auf Windows Maschinen oder umgekehrt zuzugreifen, empfiehlt sich VNC.


Migriert.png Migration abgeschlossen: Dieser Artikel wurde vollständig aus dem alten Wiki migriert.