[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ssh-remote-port-forward bindet immer nur an localhost auf dem zielhost



Hallo,

ich habe ein Problem mit dem Remoteforwarding von ssh.

Ich möchte dazu von einem Rechner im Heimatnetz aus auf mein Notebook
per ssh zugreifen.

ZuhausWorkstation -> sshgateway auf port 11122 leitet weiter an Notebook
port 22.

Das Heimatnetz hat eine Feste IP (mit Portforwarding auf den Rechner der
GW für den SSH Tunnel spielt) und das Notebook hat eine Dynamische IP
hinter einem Router der ebenfalls eine Dynamische IP6 bekommt.

Auf dem Notebook starte ich ein einer Schleife also einfach

ssh -p 33332 -R '*':11222:localhost:22 sshgwuser@festeip

Notebook -> RouterIp port 33332 PFW -> sshgateway Port 22

Die Verbindung wird dann aufgebaut und der Tunnel wird auf auf dem
sshgateway angelegt, aber nur für das localhost-Interface auf dem
sshgateway

netstat -an |grep LISTEN|grep 11122 zeigt mir dann nur so etwas:

tcp        0      0 127.0.0.1:11122         0.0.0.0:*
LISTEN

Auf dem NW-Interface wird kein Port geöffnet und ich kann auch keine
Verbindung aufbauen, wenn ich von einem anderen Rechner im Heimatnetz
das ssh-GW versuche zu erreichen.

Dazu nutze ich dann:
ssh -p 11222 notebookuser@sshgateway

Wenn ich das allerdings auf dem sshgateway selber einsetze gibt es keine
Probleme, also

ssh -p 11222 notebookuser@localhost

Auf dem sshgateway habe ich auch mit /usr/sbin/sshd -T nicht erkennen
können das die Optionen falsch sein könnten. So ist allowtcpforwarding
yes gesetzt.

Ein local auf dem sshgateway gestarteter sshd -D -ddd -p 12321 mit einem
anschließenden aufbau der ssh-Tunnelverbindung mit ssh -p 12321 -R
'192.168.1.202':11123:localhost:22  zeigt mir folgende Info dazu:

debug1: server_input_global_request: rtype tcpip-forward want_reply 1
debug1: server_input_global_request: tcpip-forward listen 192.168.2.202
port 11123
debug3: channel_setup_fwd_listener_tcpip: type 11 wildcard 1 addr NULL
debug1: Local forwarding listening on 127.0.0.1 port 11123.


Auf dem sshgateway wird auch wieder nur am localhost angebunden:
tcp        0      0 127.0.0.1:11123         0.0.0.0:*
LISTEN

Vermutung:
Irgendwie sieht es für mich so aus als würde allowtcpforwarding nicht
auf yes sondern auf local gestellt sein. Dann sollte aber das bei sshd
-T auch so zu erkennen sein.

Ich habe auch versucht den sshd mit -o 'AllowTCPForwarding yes'
vorsichtshalber voreinzustellen.
Wenn ich jedenfalls no einstelle dann zeigt mir sshd -T auch das es auf
no steht. Wenn ich die Option in der sshd_config auf yes oder all stelle
dann ist -T auch immer yes.
gatewayports habe ich auch auf yes gesetzt und wird auch mit -T mit yes
angezeigt.

Irgend eine Idee warum das nicht (mehr) geht?

Das sshGateway ist eine Debian Stretch 9.11 mit aktuellen Paketen.

Der sshd ist ein 1:7.4p1-10+deb9u7.
Der SSH auf meinem Notebook ebenfalls 1:7.4p1-10+deb9u7

Langsam fällt mir nichts mehr ein gerade weil auch die debug-Optionen
vom sshd und ssh eigentlich immer sehr hilfreich bei Problemen waren.

Nochmal zusammengefasst:

Notebook in Schleife:
ssh -p 33332 -R 192.168.1.202:11122:localhost:22 gwuser@festeip

Für ein zusätzliches Debug-sshd auf dem sshgateway zusätzlich
einen Tunnel gebohrt damit ich diesen erreichen kann:
ssh -p 33332 -L 12321:localhost:12321 gwuser@festeip

und dann damit ich mich mit den manuellen debugsshd verbinden kann nun:
ssh -p 12321 -R 192.168.1.202:11122:localhost:22 gwuser@localhost

Auf dem Router hinter festeip ist ein Portforward 33332 -> sshgateway
(192.168.1.202) auf port 22 eingestellt.

Auf einem Rechner im Netzwerk hinter dem festeip versuche ich dann
ssh -p 11122 notebookuser@sshgateway

Auf dem sshgateway ein netstat an |grep LISTEN|grep 11122 gibt nur aus:
tcp        0      0 127.0.0.1:11122         0.0.0.0:*               LISTEN

Ein ändern der 192.168.1.202 auf '*' bringt leider auch nichts.

MfG,
Pierre


Reply to: