Ich benötige ständigen SSH-Zugriff auf einen Host in unserer Abteilung, dessen IP-Adresse dynamisch zugewiesen wird. Ich habe einen Remote-SSH-Tunnel vom Zielhost zu einem unserer Hosts eingerichtet, der eine statische IP-Adresse besitzt:
ssh -f -N -g -R :22223:localhost:22 tunnelhost
Wenn ich SSH auf den lokalen Port 22223
des Tunnelhosts zeige, funktioniert der Tunnel einwandfrei. Mein Problem ist, dass ich den Tunnel anscheinend nicht an etwas anderes als localhost binden kann - dh wenn ich versuche, aus der Ferne zu SSH zu gelangen tunnelhost:12323
, gibt es keinen offenen Port, um ihn zu empfangen. Ich habe auch versucht:
ssh -f -N -R :22223:localhost:22 tunnelhost -o GatewayPorts=yes
Aber immer noch kein Glück. Netstat zeigt mir:
[me@tunnel_host ~]$ netstat -an | grep 22223
tcp 0 0 127.0.0.1:22223 0.0.0.0:* LISTEN
tcp6 0 0 ::1:22223 :::* LISTEN
Bestätigung, dass der Tunnel nur an localhost gebunden ist. Ich habe eine Portausnahme auf dem Tunnelhost mit firewalld-cmd hinzugefügt und sichergestellt, dass keine Netzwerkhardware die Verbindung stört. Irgendwelche Ideen, was es sein könnte?
Prost, James.
GatewayPorts=clientspecified
Eine etwas sicherere Einstellung finden Sie unter askubuntu.com/questions/50064/reverse-port-tunnelling . In diesem Fall ist die leere Bindeadresse (abschließender Doppelpunkt:22223:localhost:2
) erforderlich.GatewayPorts=clientspecified
Einstellung selbst nicht sicherer ist, sondern eine bessere Kontrolle darüber ermöglicht, welche Verbindungen an Platzhalter gebunden werden, anstatt nur alle an Platzhalter gebunden zu haben.GatewayPorts=yes
die weitergeleiteten Ports für die Welt geöffnet werden.