windows 10 ssh proxycommand: "posix_spawn: No such file or directory"
Solution 1
As per this bug, the fix is to use a full path. So this is the correct line in the .ssh/config:
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe jumphost netcat -w 120 %h %p
For further development see this issue: https://github.com/microsoft/vscode-remote-release/issues/18
Solution 2
TL;DR
The ProxyCommand should invoke ssh with .exe extension, for example:
ProxyCommand ssh.exe -q -W %h:%p yyy
The long(?) story
Running ssh -vvv XXX shows:
debug3: spawning "C:\\Windows\\System32\\OpenSSH\\ssh -q -W XXX:22 YYY"
CreateProcessW failed error:2
posix_spawn: No such file or directory
According to CreateProcess document on MSDN, I guess posix_spawn is calling CreateProcess in a way that lpApplicationName argument must be exact and absolute path. After specifying the .exe suffix, it seems to be fixed.
Solution 3
I got same error but it was because of DISPLAY environment variable set to some value. Once you unset that environment variable, the error went away.
Solution 4
This issue has to do with a bug in the OpenSSH Windows implementaiton. This bug is fixed with release 8.1.0.0. Detailed instructions on how to patch the version can be found here
Related videos on Youtube
Chris
Updated on September 18, 2022Comments
-
Chris about 1 monthI use Windows10 and I need to use a jumphost to get to my Linux servers. Thus I have configured my
.ssh\configlike so:Host jumphost HostName jumphost.server.local Host server*.server.local ProxyCommand ssh jumphost netcat -w 120 %h %pBut when I run
ssh server01.server.local -v(dash-v for verbose) I get the following error:OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5 debug1: Reading configuration data C:\\Users\\admin/.ssh/config debug1: C:\\Users\\admin/ssh/config line 70: Applying options for server*.server.local debug1: Executing proxy command: exec ssh jumphost netcat -w 120 server01.server.local 22 CreateProcessW failed error:2 posix_spawn: No such file or directory -
nickpish over 3 yearsThank you thank you- just likely saved me hours of frustration after updating to 1809 -
Costin Gușă about 3 yearsIf you don't mind installing/running third party software, MobaXterm (free for personal use, no online activation needed) includes a ssh version that works correctly with "-J" parameter. Also it can correctly make use of Windows Subsystem for Linux which also can be upgraded to an ubuntu version (bionic) which contains a correctly working "-J" ssh version. Both variants allow running directly from command line without having to alter configuration files -
Costin Gușă about 3 years[continuation from previous comment] The first option also includes native ssh-agent communication with putty's pageant.exe so it can use the pageant loaded keys. -
Spongman over 2 yearsthis is the better answer. -
Åsmund about 2 yearsIs it possible to make this work without a config file (using only -J and -o parameters)?