ExitOnForwardFailure=yes doesn't exit if adress is already in use and no binding adress is specified
Damien Miller
djm at mindrot.org
Tue Mar 19 09:49:24 AEDT 2019
On Mon, 18 Mar 2019, Michał Wadas wrote:
> First, let's setup some process that binds to port that we intend to use:
>
> python -m SimpleHTTPServer 8000
This binds to 0.0.0.0:8000 (I presume you meant port 5000 instead)
> Then try few commands:
>
> ssh -N -L 5000:localhost:5432 foobar # Fails and hangs
>
> ssh -o ExitOnForwardFailure=yes -N -L 5000:localhost:5432 foobar # Fails
> and hangs
>
> ssh -N -L 127.0.0.1:5000:localhost:5432 foobar # Fails and hangs
>
> ssh -o ExitOnForwardFailure=yes -N -L 127.0.0.1:5000:localhost:5432 foobar
> # Fails and exits
These all bind to 127.0.0.1:5000, a distinct host:port as far as your
TCP/IP stack is concerned. There is no collision here.
Here's a better test:
nc -l ::1 5000 &
nc -l 127.0.0.1 5000 &
ssh -o ExitOnForwardFailure=yes -N -L 5000:localhost:5432 foo
-d
More information about the openssh-unix-dev
mailing list