windows 10 ssh proxycommand: "posix_spawn: No such file or directory"

62,463

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

Share:
62,463

Related videos on Youtube

Chris
Author by

Chris

Updated on September 18, 2022

Comments

  • Chris
    Chris about 1 month

    I use Windows10 and I need to use a jumphost to get to my Linux servers. Thus I have configured my .ssh\config like so:

    Host jumphost
    HostName jumphost.server.local
    Host server*.server.local
    ProxyCommand  ssh jumphost netcat -w 120 %h %p
    

    But 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
    nickpish over 3 years
    Thank you thank you- just likely saved me hours of frustration after updating to 1809
  • Costin Gușă
    Costin Gușă about 3 years
    If 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șă
    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
    Spongman over 2 years
    this is the better answer.
  • Åsmund
    Åsmund about 2 years
    Is it possible to make this work without a config file (using only -J and -o parameters)?