OpenSSH on Windows, ssh cannot |bind()| localport to port < 1023

Cedric Blancher cedric.blancher at gmail.com
Mon Nov 13 10:20:56 AEDT 2023


On Sat, 11 Nov 2023 at 14:26, Roland Mainz <roland.mainz at nrubsig.org> wrote:
>
> Hi!
>
> ----
>
> I'm doing some testing with the ssh client OpenSSH on Windows 10
> (10.0-19045) but due to firewall restrictions I need to run my
> experiments from a local port < 1024 (not negotiable).
>
> I thought that this was no problem... but ssh |bind()| fails with
> "address in use" (yes, I checked netstat, no one is there) for any
> port < 1023.
> Then I checked $ netstat # and $ netsh int ipv4 show excludedportrange
> protocol=tcp # and the same for IPv6, noone is using ports.
>
> This *feels* like the "restricted port range" (1-1023) on UNIX/Linux,
> where only "root" can do a |bind()| with a local port < 1023, but this
> is Windows, and even as "Administrator" this still fails.
> https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/default-dynamic-port-range-tcpip-chang
> talks about a "... well-known ports that are used by services and
> applications...", but I do not know where to set that (for a Cygwin
> process).
>
> Does anyone know what is going on ? Is there a way around this ?

How can Windows sshd bind() to port 22? How do they do that, and maybe
that is a solution?

Ced
-- 
Cedric Blancher <cedric.blancher at gmail.com>
[https://plus.google.com/u/0/+CedricBlancher/]
Institute Pasteur


More information about the openssh-unix-dev mailing list