ssh tunneling problem
ssh tunneling problem
Hallo
Ich versuche seit Tagen eine ssh-Verbindung (debian sarge stable) über putty zu tunneln - nur ohne Erfolg!
Das Netzwerk sieht folgendermaßen aus:
Client (Putty) 192.168.100.11, verbindet sich zu 192.168.100.110 (Port 14100). Im Putty ist unter Tunnel die Source und Destination Angabe für die Weiterleitung eingetragen und zwar zum nächsten Server mit der IP 192.168.99.254 (Port:2222). Natürlich ist auch auf dem 1.Rechner eine Weiterleitungsregel enthalten.
Versuche ich mich von Windows aus mit den Rechnern zu verbinden funktioniert alles nur unter Debian nicht.
Ähnliche Probleme habe ich auch mit getunnelten VNC-Verbindungen
Kan mir bitte jemand helfen??!!
my
Ich versuche seit Tagen eine ssh-Verbindung (debian sarge stable) über putty zu tunneln - nur ohne Erfolg!
Das Netzwerk sieht folgendermaßen aus:
Client (Putty) 192.168.100.11, verbindet sich zu 192.168.100.110 (Port 14100). Im Putty ist unter Tunnel die Source und Destination Angabe für die Weiterleitung eingetragen und zwar zum nächsten Server mit der IP 192.168.99.254 (Port:2222). Natürlich ist auch auf dem 1.Rechner eine Weiterleitungsregel enthalten.
Versuche ich mich von Windows aus mit den Rechnern zu verbinden funktioniert alles nur unter Debian nicht.
Ähnliche Probleme habe ich auch mit getunnelten VNC-Verbindungen
Kan mir bitte jemand helfen??!!
my
Ja Neko, in Klammern stehen die Ports die ich der entsprechenden sshd vorgegeben habe.
Vielleicht habe ich mich auch nicht klar ausgedrückt:
Das ganze ist im Prinzip eine Aneinanderreihung von Weiterleitungen die letztendlich einen SSH-Server-Zugang zu einem Debian-Server (192.168.99.254) ermöglicht. Momentan steht dieser Server noch in einer Testumgebung. Ich war es nur leid Windows zu booten, um mit putty bis an den Server durchgreifen zu können, also versuchte ich es mit dem Linuxputty und bin kläglich gescheitert. Unsaubere iptables schließe ich mal aus, da es ja vom WinClienten her funktioniert.
Alles in allem sieht es so aus:
Internet
|
Router / Firewall
|
(lokales Netzwerk darin eingeschlossen:)
Testfirewallserver:
// ext. IP 192.168.100.110 // listen=14100
|
// int. IP 192.168.99.250/24
// Dies ist das LAN der Testumgebung
// Die .250 ist der GW, die .254 einer der Server den ich mit SSH erreichen will. Dieser lauscht auf Port 2222.
Grundsätzlich könnte ich mit dieser Methode jeden Rechner im Lan erreichen, wenn zum Gateway ein sicherer Tunnel etabliert ist und diverse Forwardingregeln erstellt sind. Welchen Port zu welchem Dienst man dann im Tunnel tunnelt ist egal.
Vielleicht ist es jetzt verständlicher!
Nette Grüße
my
Vielleicht habe ich mich auch nicht klar ausgedrückt:
Das ganze ist im Prinzip eine Aneinanderreihung von Weiterleitungen die letztendlich einen SSH-Server-Zugang zu einem Debian-Server (192.168.99.254) ermöglicht. Momentan steht dieser Server noch in einer Testumgebung. Ich war es nur leid Windows zu booten, um mit putty bis an den Server durchgreifen zu können, also versuchte ich es mit dem Linuxputty und bin kläglich gescheitert. Unsaubere iptables schließe ich mal aus, da es ja vom WinClienten her funktioniert.
Alles in allem sieht es so aus:
Internet
|
Router / Firewall
|
(lokales Netzwerk darin eingeschlossen:)
Testfirewallserver:
// ext. IP 192.168.100.110 // listen=14100
|
// int. IP 192.168.99.250/24
// Dies ist das LAN der Testumgebung
// Die .250 ist der GW, die .254 einer der Server den ich mit SSH erreichen will. Dieser lauscht auf Port 2222.
Grundsätzlich könnte ich mit dieser Methode jeden Rechner im Lan erreichen, wenn zum Gateway ein sicherer Tunnel etabliert ist und diverse Forwardingregeln erstellt sind. Welchen Port zu welchem Dienst man dann im Tunnel tunnelt ist egal.
Vielleicht ist es jetzt verständlicher!
Nette Grüße
my
Also entweder liegst du mit dem Verständnis der Tunnel noch etwas daneben oder ich habe dich immer noch nicht ganz verstanden.
Also ich nehme mal an der Client von dem du sprichst steht im Internet ... warum auch immer du eine 192'iger Adresse mit angegeben hast. Von dort aus loggst du dich auf dem ersten Ziel "Router/Firewall" ein und stellst in dieser Verbindung Source (z.B.) 14100 und Destination 192.168.100.110:14100 ein. Nach dem Login erstellst du von dem gleichen Rechner (Client) aus eine Verbindung auf localhost:14100 und stellst dabei wiederum einen tunnel ein mit Source (z.B.) 2222 und Destination 192.168.100.99.254:2222. Danach stellt du noch eine Verbindung her und zwar diesmal auf localhost:2222 und landest dabei auf dem Server den du haben wolltest.
So die Theorie ... etwas umständlich aber sicherlich mal ein interessantes Konstrukt.
Also ich nehme mal an der Client von dem du sprichst steht im Internet ... warum auch immer du eine 192'iger Adresse mit angegeben hast. Von dort aus loggst du dich auf dem ersten Ziel "Router/Firewall" ein und stellst in dieser Verbindung Source (z.B.) 14100 und Destination 192.168.100.110:14100 ein. Nach dem Login erstellst du von dem gleichen Rechner (Client) aus eine Verbindung auf localhost:14100 und stellst dabei wiederum einen tunnel ein mit Source (z.B.) 2222 und Destination 192.168.100.99.254:2222. Danach stellt du noch eine Verbindung her und zwar diesmal auf localhost:2222 und landest dabei auf dem Server den du haben wolltest.
So die Theorie ... etwas umständlich aber sicherlich mal ein interessantes Konstrukt.
-
- Beiträge: 32
- Registriert: 14.05.2005 18:55:53
- Wohnort: wien
-
Kontaktdaten:
linuxputty braucht ja wirklich niemand zum tunneln
Code: Alles auswählen
man ssh
-L [bind_address:]port:host:hostport
Specifies that the given port on the local (client) host is to be for-
warded to the given host and port on the remote side. This works by allo-
cating a socket to listen to port on the local side, optionally bound to
the specified bind_address. Whenever a connection is made to this port,
the connection is forwarded over the secure channel, and a connection is
made to host port hostport from the remote machine. Port forwardings can
also be specified in the configuration file. IPv6 addresses can be speci-
fied with an alternative syntax: [bind_address/]port/host/hostport or by
enclosing the address in square brackets. Only the superuser can forward
privileged ports. By default, the local port is bound in accordance with
the GatewayPorts setting. However, an explicit bind_address may be used
to bind the connection to a specific address. The bind_address of
``localhost'' indicates that the listening port be bound for local use
only, while an empty address or '*' indicates that the port should be
available from all interfaces.
Wir haben uns schon richtig verstanden! Die 192.168.100.x ist der Standort meines Latops im Firmennetz von wo aus ich über die Testfirewall auf den Testserver will. Ich kann mich natürlich auch übers Internet (oder vom Internet aus) per dyndns bis an den Zielrechner forwarden.Neko hat geschrieben:Also entweder liegst du mit dem Verständnis der Tunnel noch etwas daneben oder ich habe dich immer noch nicht ganz verstanden.
Ich komme Dank "monotonous" Tip wie folgt auf den Testerver:
ssh -p 2222 -g -L 14100:192.168.100.110:2222 my@192.168.100.110 -v
aber mit dem Linuxputty habe ich nach wie vor ein Problem?!
my
Danke monotonous, grundsätzlich magst Du ja damit Recht haben, doch mir ist es zu aufwändig, jede der vielen Remoteverbindungen an der Konsole zu einzugeben.monotonous hat geschrieben:linuxputty braucht ja wirklich niemand zum tunneln
Putty ist dahingegen eine mögliche Alternative, da man alle seine Verbindungen speichern kann - und glaube mir, ich habe reichlich davon.
Siehst Du vielleicht eine andere Möglichkeit diverse Verbindungen zu speichern?
my
Das kannst du in der ~/.ssh_config speichern. Und zwar fuer beliebig viele Hosts.my hat geschrieben:Danke monotonous, grundsätzlich magst Du ja damit Recht haben, doch mir ist es zu aufwändig, jede der vielen Remoteverbindungen an der Konsole zu einzugeben.monotonous hat geschrieben:linuxputty braucht ja wirklich niemand zum tunneln
Putty ist dahingegen eine mögliche Alternative, da man alle seine Verbindungen speichern kann - und glaube mir, ich habe reichlich davon.
Siehst Du vielleicht eine andere Möglichkeit diverse Verbindungen zu speichern?
my
Hier ein Beispiel:
Host websrv
HostName websrv.example.com
Protocol 2
Compression yes
CheckHostIp no
User root
PasswordAuthentication no
BatchMode yes
IdentityFile /home/dein_user/.ssh/id_rsa
LocalForward 3128 websrv.example.com:3128
LocalForward 3000 websrv.example.com:3000
LocalForward 3001 websrv.example.com:3001
Aufgerufen wird das ganze dann mit:
ssh websrv
Gruss,
the_duke
-
- Beiträge: 32
- Registriert: 14.05.2005 18:55:53
- Wohnort: wien
-
Kontaktdaten:
ja, ich hab ein paar aliases in meiner .bashrcmy hat geschrieben: Danke monotonous, grundsätzlich magst Du ja damit Recht haben, doch mir ist es zu aufwändig, jede der vielen Remoteverbindungen an der Konsole zu einzugeben.
Putty ist dahingegen eine mögliche Alternative, da man alle seine Verbindungen speichern kann - und glaube mir, ich habe reichlich davon.
Siehst Du vielleicht eine andere Möglichkeit diverse Verbindungen zu speichern?
my
beispiel:
Code: Alles auswählen
alias sshmarvinvnc='ssh -L 5901:10.129.150.1:5900 marvin