Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-37152

Support Win32-OpenSSH


    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Minor Minor
    • ssh-slaves-plugin
    • None
    • Windows >= Vista/Server 2008 64-bit, Win32-OpenSSH
    • ssh-slaves-1.27

      Microsoft's Powershell team is working on an 'official' port of OpenSSH here, with the stated goal of integrating their changes back into the OpenSSH project. The current implementation is different than other OpenSSH servers this plugin works with for a couple of reasons:

      • non-interactive sessions do not run in a shell by default, i.e. builtins like 'cd' are just not available. It's required to run 'cmd /c cd' instead.
      • standard unix/bash tools like test, set, rm, mkdir, etc. are either cmd.exe builtins or are otherwise not available by default.
      • command options or output can be different on Windows, e.g. 'set' prints quoted values in bash, but the cmd.exe builtin version does not.

      With the 5/30/2016 release it's possible to get to startSlave() by adding 'test' and 'set' workalike binaries to the install directory, but startslave() itself barfs trying to run 'cd'. AFAIK it is not possible to reimplement 'cd' in win32 as a standalone utility, so there's no easy workaround.

      The Win32-OpenSSH behavior when this happens has been brought up in at least two issues, and it doesn't seem like the dev team wants to (or can) make their implementation work more like 'standard' OpenSSH in this regard. So if this ssh slaves plugin wants to work with Win32-OpenSSH it might be necessary to offer Windows-specific test and startup commands.

            ifernandezcalvo Ivan Fernandez Calvo
            wsaxon Will Saxon
            4 Vote for this issue
            7 Start watching this issue