ssh-tunnel

Hi, also wie man nen ssh-tunnel macht ist mir klar:

ssh -L localport:dest_server:dest_port -l username tunnelserver
beispiel: ssh -L 12:google:80 -l user localhost (damit köntne ich auf port 12 auf meinem rechner google erreichen)

nur, um wirklich an den dest_server in einem fremden netzwerk (hinter einem router) ranzukommen, muss der ssh port vom router auf den tunnel server gelegt sein (wenn tunnelserver und dest_server im selben netzwerk sind, ansonsten müsste der dest_port am dest_server schon einfach so von aussen erreichbar sein.), und das ist genau die sache, die mich noch stört.

Ich hatte letztens eine Situation, dass ich das router pw gesetzt habe und ein paar Tage später vergessen habe, konnte den rotuer zwar per webinterface resetten, hätte dann aber die einwahldaten gebracuht, die ich nicht selbst habe. (also konnte ich net ins richtige interface um nen port zuforwarden)

so, aber ich wollte, dass man von aussen (alles was auserhalb des routers ist) auf meinem pc (sshd) connecten kann (zwecks remote administration für nen späteren zeitpunkt). Jaja ich hätte ja auch per netcat ne shell nach aussen schmeissen können, habe ich letzendlich auch, aber ich wollte die vorzüge, der autocompletition etc genießen.

So, in vpn's (zB hamachie) gibt es dann ja sozusagen auch keinen router mehr, alle die drinne sind, können mit den anderen kommunizieren, wie sie lustig sind.

Nun wollte ich wissen, wie ich hin und her tunneln kann/muss,in welchen netzwerken der tunnel server sein muss, damit ich von aussen an meinen sshd server komme (_ohne_, dass am router der port geforwardet sein muss.


mfg
 
Nun wollte ich wissen, wie ich hin und her tunneln kann/muss,in welchen netzwerken der tunnel server sein muss, damit ich von aussen an meinen sshd server komme (_ohne_, dass am router der port geforwardet sein muss.

Gar nicht.

- Entweder weiterleiten/Tunneln

Oder:
- IPSec
- OpenVPN

Merke das das freigeben eines dienstes grundsätzlich kein problem ist.
dafür sind die maschinen ja schliesslich da. achte eben auch die integritaet des dienstes.
 
beispiel:

[pc sshd] - [router] --- [internet] --- [client]

Ich weiss nun nicht, was und wie ich weiterleiten/Tunneln muss, dass ich problemlos per client auf mein sshd pc komme.

vpn wollte ich eigentlich nicht benutzen, sondern aussschliesslich ssh tunnel.


// Edit: hat sich erledigt, weiss nun in etwa wie.
 
[pc sshd] - [router] --- [internet] --- [client]

ich glaube eher du verstehst es nicht, denn lesen und verstehen kann ich schon!

so wie du es beschrieben hast, musst du erstmal von aussen auf deinen rechner kommen. dazu musst du am router aber erstmal den jeweiligen port weiterleiten, weil du sonst nirgends hinkommst!

und mehr brauchst du nicht machen, denn bei mir zu hause geht es so ;)
 
Original von lookshe
[pc sshd] - [router] --- [internet] --- [client]

ich glaube eher du verstehst es nicht, denn lesen und verstehen kann ich schon!

so wie du es beschrieben hast, musst du erstmal von aussen auf deinen rechner kommen. dazu musst du am router aber erstmal den jeweiligen port weiterleiten, weil du sonst nirgends hinkommst!

und mehr brauchst du nicht machen, denn bei mir zu hause geht es so ;)


nochmal lesen und mir sagen ob du das ernst meinst.

es muss nichtmal ein router sein, es könnte auch ne firewall sein, die alle eingehende verbindungen blockt.

so und das ich hier ssh tunnel anspreche hat schon seinen grund, dass ich sage ich hab das router pw vergessen (hätte ich den router zurückgesetzt wäre ich net an die einwahldaten gekommen weils mitten in der nacht war) so

sinn und zweck ist es, die nicht mögliche eingehende verbindung, einfach nachausen zu einem tunnel server zu leiten:

http://www.online-tutorials.net/sec...-usage/tutorials-t-69-205.html#ssh-forwarding

wenn man keine ahnung hat, ne? ... -.-


mfg

pw: thema hat sich erledigt, kann geschlossen werden.
 
ja und?!?
irgendwie beschreibst du dein problem dann wohl etwas schlecht

du willst nen ssh tunnel, weisst wie du den machst

willst dass der tunnel wieder irgendwo anders hingeht. dann mach es doch einfach, der geht dahin wo du es angibst, wenn da nichts zwischen blockt.

so wie mir es scheint, hast du das mit dem tunnel nicht kapiert, denn der leitet dir den kram einfach dahin wo du es angibst
 
lass es einfach gut sein, ich habe schon mehrfach gesagt, dass das problem sich erledigt hat und ich weis nun wie es geht.

dein mehrfaches "forwarde doch den port am router" zeigt shconmal, dass du es entweder nicht verstanden oder gelesen hast, es ging von anfang an nur um tunnel (wo ich mitlerweile genau weis was und wie ich es machen muss.)


du willst nen ssh tunnel, weisst wie du den machst

willst dass der tunnel wieder irgendwo anders hingeht. dann mach es doch einfach, der geht dahin wo du es angibst, wenn da nichts zwischen blockt.

so wie mir es scheint, hast du das mit dem tunnel nicht kapiert, denn der leitet dir den kram einfach dahin wo du es angibst


was für weise worte... das nach mehreren posts, als sich das thema eh erledigt hat.

erspar mir/uns soetwas bitte, denn ich denke wie reden aneinander vorbei.


mfg
 
da hier so viele ausser mir geantwortet haben, geh ich mal davon aus, dass keiner dein problem so richtig verstanden hat, was wohl an der beschreibung liegt.

und du willst nur den destinationport auf irgendwas legen, was unter umständen geblockt wird durch firewall oder router. der tunnel geht aber einfach nur auf die destination, wie du sie eingibst, ohne irgendwas weiter zu machen. so steht es kurz gesagt in deinen posts, wenn ich also was falsch verstehe, dann erklär es verdammt nochmal nicht so, sondern richtig, wie du es meinst, und mach mich nciht noch dumm an!
 
da hier so viele ausser mir geantwortet haben, geh ich mal davon aus, dass keiner dein problem so richtig verstanden hat, was wohl an der beschreibung liegt.

Warum du hier soviel Müll (auchnoch uninteressanten/unerheblichen) von dir gibts, weiss ich auch nicht. Deine "Antworten" kam _erst_ nach meinem 2ten Post, als ich schon sagte, ich wüsste wie ich es machen muss und dass sich das Thema schon erledigt hat.

Du hättest dir das alles sparen können, weils schon längst um die Ecke war.

Und was man daran net verstehen kann, das ich nen router/firewall tunneln wollte, ist mir genauso unklar wie die Antwort

"dann musst du von deinem router aus den port für ssh zu deinem pc direkt weiterleiten."

Naja, ich hoffe hier wird endlich zu gemacht, langsam wirds peinlich.


mfg
 
Da NeonZero noch auf die Lösung hofft, mache ich den Thread wieder auf. Sollte die Lösung nicht mehr kommen, wird er entfernt.
 
Original von .smash
hat sich erledigt ? weiss nun in etwa wie.

@.smash: Für andere Leser, die womöglich ebenfalls nach einer Lösung für ein solches Problem suchen, wäre es nützlich zu erfahren, wie genau Deine Lösung aussieht. Es wäre daher nett, wenn Du Deine Erkenntnisse kurz darlegen könntest, bevor Du den Thread schließen lässt. Thx.

Bye, nz
 
hoffe habe .smash mit folgender aussage richtig verstanden...

Original von .smash
....sinn und zweck ist es, die nicht mögliche eingehende verbindung, einfach nachausen zu einem tunnel server zu leiten:

http://www.online-tutorials.net/sec...-usage/tutorials-t-69-205.html#ssh-forwarding

...

eine moeglichkeit wird dort unter 'Remote-Forward' leider ein wenig unglücklick erklärt...man braucht dazu eine maschiene die über das internet erreichbar ist.

im wesentlichen geht es dabei um die -R option von ssh
Code:
     -R [bind_address:]port:host:hostport
             Specifies that the given port on the remote (server) host is to
             be forwarded to the given host and port on the local side.  This
             works by allocating a socket to listen to port on the remote
             side, and whenever a connection is made to this port, the connec-
             tion is forwarded over the secure channel, and a connection is
             made to host port hostport from the local machine.

             Port forwardings can also be specified in the configuration file.
             Privileged ports can be forwarded only when logging in as root on
             the remote machine.  IPv6 addresses can be specified by enclosing
             the address in square braces or using an alternative syntax:
             [bind_address/]host/port/hostport.

             By default, the listening socket on the server will be bound to
             the loopback interface only.  This may be overriden by specifying
             a bind_address.  An empty bind_address, or the address `*', indi-
             cates that the remote socket should listen on all interfaces.
             Specifying a remote bind_address will only succeed if the serv-
             er's GatewayPorts option is enabled (see sshd_config(5)).

beim normalen port forwarding mach ich einen tunnel vom 'tunnel ersteller' zum ziel.
mit dieser '-R' option erstelle ich den gleichen tunnel in umgekehrter richtung....also vom ziel (in diesem fall der start) zum 'tunnel ersteller'.
 
@ lookshe & bitmuncher, sorry wegen "Müll"...

nunja woltle ich eh loswerden, war mir dann doch zu schnell geschlossen.


@NeonZero


Leider konnte ich das Remote Forwarding noch nicht ausprobieren (dazu fehlt mir leider ein ssh zugang im Internet), aber es ist genau das was ich als Lösung meinte (siehe man page (soox) oder hier ein schönes Beispiel: http://phpblogger.de/archives/232-SSH-Tunnel.html).

In eigenen Worten:

Im Internet steht ein Server auf dem ein ssh daemon läuft und auf dem man ein Userlogin hat,
dann verbindet man sich mit nem bestimmten ssh-befehl ( ssh -R 1337:localhost:22 user123@meintunnel.de) zu seinem ssh-tunnel-server.

In diesem Beispiel ist der tunnel-server: meintunnel.de der user vor dem @ ist user123

So, setzt man diesen befehl ab (zuHause am Heimrechner oder sonstwo), wird man vom tunnel-server aufgefordert das Passwort für den user einzugeben, danach (sofern es richtig war) wird am tunnel-server der port 1337 geöffnet und auf dem Heimrechner der port 22 über den tunnel-server im internet geleitet (port 1337). So müsste man (von z.B. der Arbeit oder eines Freundes aus) per ssh (ssh -p 1337 tunnelserver.de) auf den Heimrechner zugreifen können.

Also, so hab ich es verstanden, konnte es wie gesagt noch nicht nachprüfen, aber eventuell bekomme ich in ein paar Tagen ein ssh login von einem Bekannten, dann werde ich es überprüfen.


mfg
 
Jep, scheint zu funktionieren:

Reverse-Tunnel aufbauen:
Code:
bitmuncher@deepthought:~$ ssh -R 1337:localhost:22 meinserver.de
Debian GNU/Linux
Password:
Linux meinserver.de
Last login: Thu May 31 18:04:03 2007 from mein.home.host.de
Zurück verbinden über localhost vom Server aus (hätte natürlich auch in der Firewall den Port öffnen können um dann remote auf Port 1337 zu kommen):
Code:
bitmuncher@bitmuncher:~$ ssh -p 1337 localhost
bitmuncher@localhost's password:
Linux deepthought 2.6.17-11-386 #2 Fri May 18 23:37:00 UTC 2007 i686
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
You have new mail.
Last login: Thu May 31 23:21:15 2007 from localhost
bitmuncher@deepthought:~$
 
Zurück
Oben