ssh -R binds to 127.0.0.1 only on remote

Voir aussi :

Pb ssh forward - Connection refused

socat

iptables - Rediriger un port TCP sur un autre

A tester : GatewayPorts clientspecified

ssh -R "61027:db1.acme.local:61027" admin@app1.acme.local

Le binding n'est que sur 127.0.0.1

# ss -tlnp |grep 610
LISTEN 0 128 127.0.0.1:61027 0.0.0.0:* users:(("sshd",pid=3983617,fd=15))

Essayons

ssh -g -R "0.0.0.0:61027:db1.acme.local:61027" admin@app1.acme.local

Ca ne marche pas

Idem avec -o GatewayPorts=true

Sur notre machine en écoute sur 127.0.0.1:61027

ssh -g -L 61028:0.0.0.0:61027 localhost

Mais comme nous n'avons pas la clef SSH sur la cible nous faisons :

ssh -A -t admin@app1.acme.local ssh -g -L 61028:0.0.0.0:61027 admin@localhost

Et voilà :

# ss -tlnp |grep 610
LISTEN 0 128 127.0.0.1:61027 0.0.0.0:* users:(("sshd",pid=3983617,fd=15))
LISTEN 0 128 0.0.0.0:61028 0.0.0.0:* users:(("ssh",pid=3987404,fd=6))

Autres

Erreurs après un certain temps lors de la connexion

$ ssh -R "61027:db1.acme.local:61027" admin@app1.acme.local
connect_to db1.acme.local port 61027: failed.
connect_to db1.acme.local port 61027: failed.
connect_to db1.acme.local port 61027: failed.
connect_to db1.acme.local port 61027: failed.