Frage zu SSH über Terminal mit port forwarding

zred2711

Registriert
Thread Starter
Mitglied seit
07.06.2012
Beiträge
2
Hi,

ich bräuchte etwas Hilfe bei dem Versuch die richtigen Kommandos für eine SSH-Verbindung über's Terminal herauszufinden. Als "Vorlage" für die richtigen Einstellungen habe ich einen Windows-Laptop mit putty und jetzt versuche ich also, die putty-Einstellungen in die entsprechenden SSH-Kommandos auf meinem Mac zu übertragen, ich habe mir zwar einiges "ergoogelt", aber habe leider eigentlich nicht viel Ahnung von dem ganzen.

Die SSH-Verbindung selbst klappt wunderbar, aber in putty sind auch noch Tunnel fürs Port Forwarding eingerichtet und das kriege ich hier auf meinem Mac einfach nicht hin. Ich habe es mit
ssh -L port : IPZielHost : port IPsshHost -i key.ppk
versucht, aber anscheinend fehlt mir noch irgendein Stückchen.
Das Problem ist, dass das ganze noch über eine "Zwischenstation" läuft: die Einstellung in putty sieht z.B. so aus:
Lxxx.xxx.xxx.xx:2222=yyy.yyy.y.yy:22.
Host X ist der, auf den ich eigentlich will, Host Y ist die "Zwischenstation".

Ich hoffe, es ist einigermassen klar geworden, sorry, mir fehlt einfach die richtige Terminologie. Aber vielleicht kann mir ja jemand weiterhelfen, was der putty-Eintrag bedeutet und wie ich das gleiche im Terminal hinbekomme.

Vielen Dank!
 

pmau

Aktives Mitglied
Mitglied seit
13.02.2008
Beiträge
6.058
EDIT: Ich habe mich natürlich direkt vertan.

Ich hoffe, ich erkläre das jetzt sinnvoll.

SSH hat immer einen Ziel-Host:

ssh user@host.domain

Das Port-Forwarding passiert nachdem SSH sich auf diesem Rechner verbunden hat.
Um es mal in Worte zu fassen, bedeutet Zeile

ssh -L 1111:www.google.com:80 user@mietserver.com

"Logge Dich auf 'mietserver.com' ein, benutze dafür den account 'user'.
Danach öffne Port 1111 lokal und leite alle Verbindungen an 'google.com', Port 80 weiter.
Dafür wird die ssh Verbindung auf 'mietserver.com' verwendet.
"

Das heisst nach diesem Kommando bist Du in einer Shell auf 'mietserver.com',
kannst ein

telnet localhost 1111

auf Deinem Rechner eintippen und bist auf google.

Möchtest Du diesen Port 1111 von aussen erreichbar machen fehlt ein '-g':

ssh -g -L 1111:www.google.com:80 user@mietserver.com

Jetzt kannst Du von irgendwo aus ein

telnet meine.ip 1111

eintippen und connectest auf google.com über die SSH Verbindung zu mietserver.com.
 

Andy.321

Aktives Mitglied
Mitglied seit
13.02.2007
Beiträge
1.636
und vom Mac aus ein

telnet mietserver.com 1111

bringt mich auch zu google.com 80?

Was benötige ich, wenn am Mac ein

telnet localhost 1111

mich zu

google.com 80

bringen soll?

Sorry, aber das Port weiterleiten mit ssh war schon immer ein rotes Tuch für mich...
 

pmau

Aktives Mitglied
Mitglied seit
13.02.2008
Beiträge
6.058
Du bist auf dem Mac.

ssh -L1111:www.google.com:80 mietserver.com

(im neues Fenster)
telnet localhost 1111

"Welcome to Google."


Oder:

ssh mieserver.com
(neue shell kommt)
ssh -g -L1111:www.google.com:80 localhost
(offen lassen)

(neues fenster)
telnet mietserver.com 1111
(Google)
 

zred2711

Registriert
Thread Starter
Mitglied seit
07.06.2012
Beiträge
2
Hi Leute,

pmau, vielen Dank für deine Erklärungen. Nach unzähligen Versuchen habe ich es doch noch hinbekommen! (Ich kann nicht behaupten, es wirklich verstanden zu haben, aber es funktioniert, was will man mehr :) )
 
Oben