SSH tunneln durch SSH - Proxy eintragen

Nille

Nille

Aktives Mitglied
Thread Starter
Dabei seit
23.03.2007
Beiträge
163
Reaktionspunkte
1
Hallo zusammen,

folgendes Problem habe ich im Moment. Ich möchte aus einem internen Netz, indem der SSH Port nur zu einem Login-Server offen ist, über meine Fritzbox zu Hause, auch FTP aus diesem Netz ermöglichen.

Die Idee:
SSH Tunnel mit -D 8000 zum Login-Server
SSH Tunnel mit -D 9000 und "Proxy" Port 8000 zur FritzBox
FTP zu belibigen Server mit Proxy Port 9000

Das ganze habe ich unter Windows schon mit Putty und einem Programm für SocketProxy schon realisiert, nun möchte ich das aber auch unter Mac OS X schaffen.
Der erste Tunnel ist kein Problem, aber wie mache ich den 2. dass es durch den ersten geht? Danach benötige ich eigentlich nur ein FTP Programm, dass es erlaubt den 2. Tunnel als Proxy zu verwenden...

Reicht das ssh on MacOSX im Terminal aus? Wenn ja welche Option erlaubt mir den 2. Tunnel durch den ersten Port 8000 zu legen? Wenn nein wie geht es sonst?

Ich würde mich über hilfreiche Tipps freuen!

Gruß Nille
 
also dir ist schon klar das du mit -d lokal einen socks port öffnest?

deine idee:
internet <-> login server <-> dein laptop
richtig verstanden?

was du machen könntest wäre folgendes:
auf deinem login server nen proxy aufsetzen (squid zum beispiel) dann könntest du mit folgenden befehl dort hin verbinden:
ssh -c 3des -D 1080 user@loginserver -L 3128:loginserver:3128

ergebniss wäre du hättes auf deinem lokalen rechner einen socks port und könntest über 3128 surfen. bei FTP hast du das problem das du eine 2 wege kommunikation aufbauen musst. und ich würde mal nicht meine hand dafür ins feuer legen wollen das die verbindung unter windows wirklich nur durch die tunnel lief.

ansonsten wenn es dir nur drum geht durch einen ssh server einen beliebigen server außerhalb zu erreichen mach es so:
ssh -c 3des benutzer@sshserver -L lokalerport:entfernterserver:entfernterport

der lokale port wäre dann der port den du bei dir auf dem laptop ansprichtst um den entfernten server zu erreichen. also mit localport = 9999 ist und entfernterserver = google.com und entfernterport = 80... dann müsstest du unter localhost:9999 im webbrowser google erreichen können.

so ich hoffe in meinen müdenhirn lief nix queer. vermutlich wird das topic eh bald gelöscht weil diese sachen ja potentiell illegale zwecken dienen könnten.
 
also dir ist schon klar das du mit -d lokal einen socks port öffnest?
Lokal, mh also ist es nicht das gleiche wie in Putty? Dort lege ich ein dynamisches Port Forwarding an...

deine idee:
internet <-> login server <-> dein laptop
richtig verstanden?
naja fast... also ich bin in einem Netz, welches nur eine ssh zu einem login Server erlaubt. Durch diesen ersten Tunnel erstelle ich einen neuen zur Fritzbox. Danach kann ich durch den 2. Tunnel alles machen, da bei der Fritzbox keine Einschränkungen eingestellt sind.

was du machen könntest wäre folgendes:
auf deinem login server nen proxy aufsetzen (squid zum beispiel) dann könntest du mit folgenden befehl dort hin verbinden:
ssh -c 3des -D 1080 user@loginserver -L 3128:loginserver:3128
Ich habe nur ein Benutzerkonte auf dem Login Server, ohne Rechte etwas zu installieren...

und ich würde mal nicht meine hand dafür ins feuer legen wollen das die verbindung unter windows wirklich nur durch die tunnel lief.
Ich erkläre am besten wie ich es unter Windows mit Putty realisiert habe:

1. Tunnel zum Login-Server
bei "Options Controlling SSH Port Forwarding" Source Port 8000 und Dynamic

2. Tunnel zur Fritzbox
"Oprions Controlling proxy usage" SOCKS 5, localhost Port 8000 - also durch den 1. Tunnel
"Options Controlling SSH Port Forwarding" Source Port 9000 und Dynamic

Danach im FTP Programm als Proxy localhost Port 9000 und ich habe Zugriff...

Die ersten beiden Tunnel möchte ich nun unter Mac OS X realisieren.
Wenn mich nicht alles täuscht ist die Option -D gleich wie der Dynamic Source Port in Putty.

Wie lege ich aber den 2. Tunnel durch den ersten? Also mit welcher Option stelle ich einen SOCKS 5 Proxy auf localhost Port 8000?

Gruß Nille
 
ist doch weitestgehend das was ich mit dieser zeile meinte:

ssh -c 3des benutzer@sshserver -L lokalerport:entfernterserver:entfernterport

benutzer@sshserver ist dein erster tunnel und der rest der 2.
 
ist doch weitestgehend das was ich mit dieser zeile meinte:

ssh -c 3des benutzer@sshserver -L lokalerport:entfernterserver:entfernterport

benutzer@sshserver ist dein erster tunnel und der rest der 2.

Ok, dann muss ich das nur noch mit den Ports hinbekommen...

Code:
sudo ssh -c 3des benutzernamen@login.server -L 22:fritz.box:22

lokaler und entfernter Port sind mir noch nicht klar, da ich ja nicht wie in Putty Ports fürs Dynamische Portforwarding einstelle...
An der Fritzbox ist nur Port 22 offen, dann müsste das der entfernte Port sein.? und der lokale?

Gruß Nille
 
nope. der krams hinter dem -L regelt nicht wo du dich zu deiner fritzbox hin verbindest sondern außerhalb deines netzwerkes.
 
nope. der krams hinter dem -L regelt nicht wo du dich zu deiner fritzbox hin verbindest sondern außerhalb deines netzwerkes.

Ok... sorry aber das heißt? Welche Ports, welcher Server?

Gruß Nille
 
Zurück
Oben Unten