PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SSH Tunnel und X Forwarding



einheitlix
30.09.08, 12:25
Hallo Leute,

ich hoffe, das ist hier das richtige Unterforum; es geht ja um SSH Server und Clients...

Also, erstmal zum Setup: ich wohne in einem Studentenwohnheim und habe dort meinen Rechner ririu stehen. Dieser ist von aussen allerdings nicht erreichbar, da das Rechenzentrum alle eingehenden Verbindungen zur IP-Range des Wohnheims blockt.
Der einzige von aussen erreichbare Rechner im Wohnheim ist unser Server, hal; nur hier macht das Rechenzentrum eine Ausnahme und laesst eingehende Verbindungen durch.

Ich sitze nun zu Hause bei meinen Eltern und moechte von meinem Rechner hier, freya, eine SSH Verbindung mit X Forwarding zu ririu machen; da hal im selben LAN wie ririu ist, kann ich mich ja von freya aus auf hal einloggen, und von dort aus weiter zu ririu.

Nun kann ich mich natuerlich auch auf hal einloggen und dort per


malte@hal $ ssh -g -L 2508:ririu:22 malte@ririu

einen SSH Tunnel aufbauen. Danach kann ich mich von freya aus also per


malte@freya $ ssh -p 2508 malte@hal

auf ririu einloggen. Soweit, so gut. Ich moechte jetzt zusaetzlich aber noch X Forwarding haben ;)

Also habe ich versucht, -X als zusaetzlichen Parameter zu uebergeben.


malte@freya $ ssh -p 2508 -X malte@hal

Ich lande dann auch in der Tat auf ririu; aber X Forwarding funktioniert leider nicht!


malte@ririu $ firefox
Error: no display specified
malte@ririu $ echo $DISPLAY

malte@ririu $


Ein X Forwarding auf hal geht problemlos:


malte@freya:~$ ssh -X malte@hal
malte@hal $ echo $DISPLAY
localhost:11.0


...und ich kann auf hal X Anwendungen starten und sie werden hier auf freya angezeigt. Nur, wie ihr seht, wenn ich das von freya aus ueber einen SSH Tunnel von hal zu ririu probiere, geht das DISPLAY irgendwie verloren. Es hilft auch nicht, willkuerlich auf ririu DISPLAY auf localhost:11.0 oder localhost:10.0 zu setzen... was ich in schierer Verzweiflung probiert habe.

Ich hoffe, ich habe klar genug erklaert, was das Problem ist, sonst fragt einfach :)
Habt ihr eine Idee, woran das liegt? Ich haette a priori vermutet, dass ssh gar nicht merkt, dass es ueber einen Tunnel laeuft, und gedacht, das muesste problemlos funktionieren. Tut es aber nicht... und vor allem, kann ich ein X Forwarding zwischen freya und ririu irgendwie trotzdem bewerkstelligen?

Vielen Dank schonmal fuer eure Hilfe!

asterixer
30.09.08, 16:34
Kann ja sein, dass ich mich irre, aber musst du dich nicht von hal aus erst noch auf riru ebenfalls mit -X einloggen?

Falls die DISPLAY Variable veroren geht wuerde ich sie einfach mit export neu setzten.

asterix

mkahle
30.09.08, 18:04
- exitistiert auf ririu der xauth Befehl?
- außerdem dachte ich, Du kannst nur "hal" von außen erreichen, dann sollte Dein Tunnel besser folgendermaßen erstellt werden:

ssh -L2508:ririu:22 malte@hal
und dann kannst Du per

ssh -p 2508 -X malte@127.0.0.1
Dich auf ririu anmelden

Falls die Namen nicht aufgelöst werden, verwende IP Addressen ...

einheitlix
02.10.08, 21:56
asterixer:

Nein, fuer den SSH Tunnel brauche ich, denke ich, den -X Parameter nicht. Hab's auch versucht - bringt nichts...

Wie gesagt, die DISPLAY Variable manuell zu setzen, hatte ich auch schon probiert, funktioniert aber trotzdem nicht. Waere ja auch irgendwie komisch eigentlich :)

mkahle:

Ja, der xauth Befehl existiert.

Dein Tipp mit ssh hat zwar das Problem auch nicht geloest, aber danke, du hast mir eine neue Methode beigebracht, SSH Tunnel aufzubauen ;) Es funktionieren aber beide Methoden, meine sowie deine wunderbar. Auf alle Faelle habe ich jetzt viel besser verstanden, wie das mit den Tunnels funktioniert. Ich haette also auf hal auch z.B. "ssh -g -L 2508:localhost:22 malte@ririu" eingeben koennen, und haette mich dann auch von freya per "ssh -p 2508 malte@hal" auf ririu einloggen koennen... jetzt verstehe ich endlich wirklich genau, wie das gemeint ist. :)
Aber wieso meinst du denn, dass es besser ist, den Tunnel so "lokal" von freya aus aufzubauen? Weil das dann wirklich nur von localhost aus geht, und niemand anderes so leicht den Tunnel benutzen kann, da ich ja den -g Parameter dann nicht brauche?

Indessen habe ich das Problem geloest. Es war ein dummer Fehler: ich hab auf ririu einfach in der sshd_config nicht eingetragen gehabt, dass X11Forwarding erlaubt werden soll :o Naja, jetzt geht's... vielen Dank auf jeden Fall fuer eure Hilfe ;)

mkahle
02.10.08, 22:25
ja. "-g" solltest Du nur in wirklich gesicherten Umgebungen verwenden - und weder das Internet noch Studentenwohnheime gehören dazu. In ersterem sind die ganzen Bösen unterwegs - in letzterem wird gerne mal ausprobiert, "was alles so geht" ;-)

Freut mich, daß Du es "zum Fliegen" gebracht hast.

h4gb4rdc31in3
03.10.08, 10:29
Versuch mal statt des Parameters -X den Parameter -Y.
Der geht manchmal auch wenn -X nicht geht.

einheitlix
04.10.08, 15:00
Danke, aber wie gesagt, ich hab das Problem schon geloest, du hast das wahrscheinlich uebersehen:



Indessen habe ich das Problem geloest. Es war ein dummer Fehler: ich hab auf ririu einfach in der sshd_config nicht eingetragen gehabt, dass X11Forwarding erlaubt werden soll :o Naja, jetzt geht's... vielen Dank auf jeden Fall fuer eure Hilfe ;)


Ich habe mal [solved] vor den Titel des Themas angehangen.

[edit]
Ok, das Titel-Editieren ist hier anscheinend nicht so wirklich moeglich. Whatever... :rolleyes: