Ich versuche, von meinem Arbeitscomputer aus ein X-Programm auf meinem Heimcomputer auszuführen. Die grundlegende Konfiguration ist folgende:
Arch Linux-Arbeitscomputer -> OpenBSD-SSH-Router (zu Hause) -> Arch Linux-Heimcomputer (mit SSH)
Ich habe das noch nie versucht und bin mir nicht ganz sicher, wie. Wie bekomme ich das hin?
Wenn ich einfach versuche,
$(work computer) ssh -Y home-ip
..
$(home router) ssh -Y private-ip
Ich erhalte im letzten Tunnel die Meldung „X11-Weiterleitungsanforderung auf Kanal 0 ist fehlgeschlagen“
Wie mache ich das richtig?
EDIT: Ich habe vergessen, X-Forwarding auf dem SSHD meines Heimcomputers zu aktivieren. Ich habe das jetzt behoben, aber es scheint nichts zu passieren, wenn ich einen einfachen Befehl wie ausführe xterm
. Es bleibt einfach da und versucht vermutlich, das Xterm-Fenster auf meinem Router und nicht auf meinem Arbeitscomputer anzuzeigen.
Antwort1
Wie wäre es, wenn Sie einen Port auf Ihrem Arbeitscomputer an Port 22 Ihres Heimcomputers und dann ssh -Y
an diesen lokalen Port weiterleiten?
Zum Beispiel,
ssh -L 2222:private-ip:22 router-ip
ssh -Y localhost:2222
Antwort2
Was Sie getan haben, sollte funktionieren, aber Sie müssen das xauth
Programm auf dem Router installiert haben, damit es einen Sicherheitsschlüssel für die virtuelle X11-Anzeige erstellen kann, die SSH erstellt. Sie müssen es xauth
auf jedem Computer installieren, auf dem Sie ssh -X
es ssh -Y
verwenden, auch wenn Sie dort eigentlich keine X-Anwendungen ausführen, sondern es nur als Zwischenschritt zu einem anderen Ort verwenden.
Nachdem Sie eine Verbindung zum Heimcomputer hergestellt haben, überprüfen Sie Ihre $DISPLAY
Variable. Sie sollte etwa wie folgt lauten localhost:10
: . Wenn nicht, gehen Sie zurück zu Ihrer Shell auf dem Router und überprüfen Sie sie $DISPLAY
dort.