ssh tunneling problem

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
my
Beiträge: 45
Registriert: 13.02.2006 16:25:14
Wohnort: Dresden

ssh tunneling problem

Beitrag von my » 13.02.2006 16:47:06

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

Neko
Beiträge: 27
Registriert: 22.01.2006 13:52:14

Beitrag von Neko » 13.02.2006 16:51:10

Also du versuchst dich mit einem weiteren Debian-Rechner auf den den auf dem Windows-Client in Putty konfigurierten Source-Port zu verbinden? Was meinst du mit den Ports die du in den Klammern angegeben hast, sollen das die Ports sein auf die du deinen sshd konfiguriert hast?

my
Beiträge: 45
Registriert: 13.02.2006 16:25:14
Wohnort: Dresden

Beitrag von my » 13.02.2006 20:25:18

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

Neko
Beiträge: 27
Registriert: 22.01.2006 13:52:14

Beitrag von Neko » 13.02.2006 22:58:20

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.

monotonous
Beiträge: 32
Registriert: 14.05.2005 18:55:53
Wohnort: wien
Kontaktdaten:

Beitrag von monotonous » 13.02.2006 23:42:45

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.

my
Beiträge: 45
Registriert: 13.02.2006 16:25:14
Wohnort: Dresden

Beitrag von my » 14.02.2006 09:33:48

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.
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.

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

my
Beiträge: 45
Registriert: 13.02.2006 16:25:14
Wohnort: Dresden

Beitrag von my » 14.02.2006 09:47:27

monotonous hat geschrieben:linuxputty braucht ja wirklich niemand zum tunneln
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

the_duke
Beiträge: 1
Registriert: 14.02.2006 11:18:10

Beitrag von the_duke » 14.02.2006 11:22:20

my hat geschrieben:
monotonous hat geschrieben:linuxputty braucht ja wirklich niemand zum tunneln
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
Das kannst du in der ~/.ssh_config speichern. Und zwar fuer beliebig viele Hosts.
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

monotonous
Beiträge: 32
Registriert: 14.05.2005 18:55:53
Wohnort: wien
Kontaktdaten:

Beitrag von monotonous » 18.02.2006 10:48:53

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.
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
ja, ich hab ein paar aliases in meiner .bashrc
beispiel:

Code: Alles auswählen

alias sshmarvinvnc='ssh -L 5901:10.129.150.1:5900 marvin

my
Beiträge: 45
Registriert: 13.02.2006 16:25:14
Wohnort: Dresden

Beitrag von my » 18.02.2006 20:34:54

Der Tip mit den Aliasen in der .bashrc ist super und praktikabler als ~/.ssh_config zu editieren. Danke an Alle die sich um das Thema bemüht haben!

my

Antworten