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

Support alternate ssh implementations on Windows

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Minor Minor
    • git-client-plugin
    • None

      We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
      We are Running as scripted Pipeline with the following part:

      stage('checkout') {
      sh 'which ssh'
      bat 'where ssh'
      checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
      // set COMMIT_SHA1 variable with the checked out commit SHA1
      COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
      }

      this results in the Error: "ssh executable not found."

      15:34:59 [Pipeline] stage
      15:34:59 [Pipeline] { (checkout)
      15:34:59 [Pipeline] sh
      15:35:00 + which ssh
      15:35:00 /c/Program Files/OpenSSH/ssh
      15:35:00 [Pipeline] bat
      15:35:00
      15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
      15:35:00 C:\Program Files\OpenSSH\ssh.exe
      15:35:00 [Pipeline] checkout
      15:35:00 The recommended git tool is: NONE
      15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
      15:35:00 Fetching changes from the remote Git repository
      15:35:00 [Pipeline] }
      15:35:00 [Pipeline] // stage
      15:35:00 [Pipeline] echo
      15:35:00 catch2
      15:35:00 [Pipeline] echo
      15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win

      This pipeline is running without any problems with no change on an jnlp client Windows.

      For me it looks like the git-plugin expects to have an external ssh.exe in the path
      C:\Program Files\OpenSSH\ssh.exe
      which is definitely available. The PATH in the gitbash is:

      PATH=/cmd:/mingw64/bin:/usr/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Program Files/OpenSSH:/c/ProgramData/GooGet:/c/Program Files/Google/Compute Engine/metadata_scripts:/c/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/bin:/c/Program Files/PowerShell/7:/c/Program Files/Google/Compute Engine/sysprep:/cmd:.:/c/JavaInPath/bin:/c/PerlInPath/bin:/c/PerlInPath/site/bin:/c/strawberry/c/bin:/c/CMUtils:/c/PythonInPath:/c/Users/xentcon/AppData/Local/Microsoft/WindowsApps

          [JENKINS-72450] Support alternate ssh implementations on Windows

          bros mar created issue -
          bros mar made changes -
          Description Original: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{
          stage('checkout') {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          }}

          this leads to the error:
          {{
          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win
          }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          New: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}

          {{
          stage('checkout') {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          }}

          this leads to the error:
          {{
          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win
          }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          bros mar made changes -
          Description Original: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}

          {{
          stage('checkout') {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          }}

          this leads to the error:
          {{
          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win
          }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          New: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}

          {{stage('checkout') {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          } }}

          this leads to the error:
          {{ 15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          bros mar made changes -
          Description Original: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}

          {{stage('checkout') {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          } }}

          this leads to the error:
          {{ 15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          New: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}
          {{monospaced text}}

          {{monospaced text}}

          {{stage('checkout') }} {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          } }}

          this leads to the error:
          {{ 15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          bros mar made changes -
          Description Original: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}
          {{monospaced text}}

          {{monospaced text}}

          {{stage('checkout') }} {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          } }}

          this leads to the error:
          {{ 15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          New: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}
          {{monospaced text}}

          {{testtext}}

          {quote}this is txt{quote}

          {{stage('checkout') }} {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          } }}

          this leads to the error:
          {{ 15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          bros mar made changes -
          Description Original: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}
          {{monospaced text}}

          {{testtext}}

          {quote}this is txt{quote}

          {{stage('checkout') }} {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          } }}

          this leads to the error:
          {{ 15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          New: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}
          {{monospaced text}}

          {{testtext}}

          {quote}
          {{stage('checkout') }} {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          } }}
          {quote}

          this leads to the error:
          {{ 15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          bros mar made changes -
          Description Original: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}
          {{monospaced text}}

          {{testtext}}

          {quote}
          {{stage('checkout') }} {
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          } }}
          {quote}

          this leads to the error:
          {{ 15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win }}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          New: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}
          {{monospaced text}}

          {{testtext}}

          {quote}
          stage('checkout'){
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          {quote}

          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          bros mar made changes -
          Description Original: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}
          {{monospaced text}}

          {{testtext}}

          {quote}
          stage('checkout'){
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          {quote}

          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          New: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}
          {{monospaced text}}

          {{testtext}}

          {quote}
          stage('checkout') \{
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          {quote}

          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          bros mar made changes -
          Description Original: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {{monospaced text}}
          {{monospaced text}}

          {{testtext}}

          {quote}
          stage('checkout') \{
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          {quote}

          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          New: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {quote}
          stage('checkout') \{
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          {quote}

          {quote}
          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win
          {quote}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          bros mar made changes -
          Description Original: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {quote}
          stage('checkout') \{
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          {quote}

          {quote}
          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] { (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win
          {quote}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          New: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {quote}
          stage('checkout') \{
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          {quote}

          {quote}
          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] \{ (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win
          {quote}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          bros mar made changes -
          Description Original: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {quote}
          stage('checkout') \{
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          {quote}

          {quote}
          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] \{ (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win
          {quote}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available
          New: We are setting up a new Windows 2021 build node. This build node is connected from our Jenkins server using a ssh connection. This is done by using the "Microsoft OpenSSH Server 9.2.20".
          We are Running as scripted Pipeline with the following part:
          {quote}
          stage('checkout') \{
          sh 'which ssh'
          bat 'where ssh'
          checkout([$class: 'GitSCM', branches: [[name: """$COMMIT"""]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'd7695a83-ac09-4660-8b95-74094f8059a5', url: GIT_URL]]])
          // set COMMIT_SHA1 variable with the checked out commit SHA1
          COMMIT_SHA1=sh script:'git rev-parse --verify HEAD', returnStdout: true
          }
          {quote}

          this results in the Error: "ssh executable not found."

          {quote}
          15:34:59 [Pipeline] stage
          15:34:59 [Pipeline] \{ (checkout)
          15:34:59 [Pipeline] sh
          15:35:00 + which ssh
          15:35:00 /c/Program Files/OpenSSH/ssh
          15:35:00 [Pipeline] bat
          15:35:00
          15:35:00 oaad\xentcon@GCDXENTCON31 F:\X.com-CIB>where ssh
          15:35:00 C:\Program Files\OpenSSH\ssh.exe
          15:35:00 [Pipeline] checkout
          15:35:00 The recommended git tool is: NONE
          15:35:00 using credential d7695a83-ac09-4660-8b95-74094f8059a5
          15:35:00 Fetching changes from the remote Git repository
          15:35:00 [Pipeline] }
          15:35:00 [Pipeline] // stage
          15:35:00 [Pipeline] echo
          15:35:00 catch2
          15:35:00 [Pipeline] echo
          15:35:00 java.lang.RuntimeException: ssh executable not found. The git plugin only supports official git client https://git-scm.com/download/win
          {quote}

          This pipeline is running without any problems with no change on an jnlp client Windows.

          For me it looks like the git-plugin expects to have an external ssh.exe in the path
          C:\Program Files\OpenSSH\ssh.exe
          which is definitely available. The PATH in the gitbash is:

          {{PATH=/cmd:/mingw64/bin:/usr/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Program Files/OpenSSH:/c/ProgramData/GooGet:/c/Program Files/Google/Compute Engine/metadata_scripts:/c/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/bin:/c/Program Files/PowerShell/7:/c/Program Files/Google/Compute Engine/sysprep:/cmd:.:/c/JavaInPath/bin:/c/PerlInPath/bin:/c/PerlInPath/site/bin:/c/strawberry/c/bin:/c/CMUtils:/c/PythonInPath:/c/Users/xentcon/AppData/Local/Microsoft/WindowsApps}}

            markewaite Mark Waite
            brosmar bros mar
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: