title: Jenkins exec sshCommand within withCredentials block but FAILURE
body: <p>I follow the guid from Jenkins <a href="https://www.jenkins.io/zh/doc/pipeline/steps/ssh-steps/" rel="nofollow noreferrer">official site</a>, and write the pipeline here:</p>
  <pre><code>def remote = [:]
  remote.name = &quot;dev-server&quot;
  remote.user = &quot;root&quot;
  remote.host = &quot;xxx.xxx.xxx.xxx&quot; // xxx will replace as my host server 
  remote.allowAnyHosts = true
  remote.logLevel = 'FINEST'
  pipeline {
    // node docker env
    agent any
    stages {
      stage('Preparation') {
        steps {
          // git branch
          git branch: 'stage', credentialsId: 'SSH_OF_XXX_BY_XXX', url: 'git@gitee.com:xxx/xxx.git'
          sh 'rm -rf package-lock.json'
        }
      }
      stage('Build') {
        { docker 'node:lts-alpine' }
        steps {
          sh 'node -v'
          sh 'npm -v'
          sh 'npm config set registry https://registry.npm.taobao.org'
          sh 'npm install'
          sh 'npm run build:stage'
        }
      }
      stage('Deploy') {
       environment { 
         key = ''
       }
       steps {
          echo 'Deploying'
          // package as tar.gz
          sh 'tar -C dist -czvf jenkins-yunqidi.tar.gz ./'
          withCredentials([sshUserPrivateKey(credentialsId: 'SSH_OF_XXX_BY_XXXX', keyFileVariable: 'key')]) {
              // some block
              echo '1213123 ${key}'
              sshCommand remote: remote, command: 'echo pwd'
          }
          // sshagent (credentials: ['SSH_OF_XXX_BY_XXX_RSA']) {
          // script {
          //         sshCommand remote: remote, command: &quot;pwd&quot;
          //     }
          // }
        }
      }
    }
  }
  </code></pre>
  <p>When I exec sshCommand within both withCredentials and sshagent, all FAIL. Error msg is following</p>
  <h3>withCredentials &amp; sshagent</h3>
  <pre><code>com.jcraft.jsch.JSchException: Auth fail
      at com.jcraft.jsch.Session.connect(Session.java:519)
      at com.jcraft.jsch.Session.connect(Session.java:183)
      at com.jcraft.jsch.Session$connect$1.call(Unknown Source)
      at org.hidetake.groovy.ssh.connection.ConnectionManager.connectInternal(ConnectionManager.groovy:107)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
      at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:384)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
      at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:190)
      at org.hidetake.groovy.ssh.connection.ConnectionManager$_connectInternal_closure1.doCall(ConnectionManager.groovy:85)
      at org.hidetake.groovy.ssh.connection.ConnectionManager$_connectInternal_closure1.doCall(ConnectionManager.groovy)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
      at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
      at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:42)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
      at org.hidetake.groovy.ssh.util.Utility.retry(Utility.groovy:52)
      at org.hidetake.groovy.ssh.util.Utility$retry.callStatic(Unknown Source)
      at org.hidetake.groovy.ssh.connection.ConnectionManager.connectInternal(ConnectionManager.groovy:83)
      at org.hidetake.groovy.ssh.connection.ConnectionManager.connectInternal(ConnectionManager.groovy)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210)
      at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59)
      at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
      at org.hidetake.groovy.ssh.connection.ConnectionManager.connect(ConnectionManager.groovy:59)
      at org.hidetake.groovy.ssh.connection.ConnectionManager$connect.call(Unknown Source)
      at org.hidetake.groovy.ssh.session.SessionTask.wetRun(SessionTask.groovy:61)
      at org.hidetake.groovy.ssh.session.SessionTask.call(SessionTask.groovy:48)
      at java_util_concurrent_Callable$call.call(Unknown Source)
      at org.hidetake.groovy.ssh.core.Service.run(Service.groovy:81)
      at org.hidetake.groovy.ssh.core.Service$run$0.call(Unknown Source)
      at org.jenkinsci.plugins.sshsteps.SSHService.executeCommand(SSHService.groovy:177)
      at org.jenkinsci.plugins.sshsteps.steps.CommandStep$Execution$CommandCallable.execute(CommandStep.java:84)
      at org.jenkinsci.plugins.sshsteps.util.SSHMasterToSlaveCallable.call(SSHMasterToSlaveCallable.java:32)
      at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
      at org.jenkinsci.plugins.sshsteps.steps.CommandStep$Execution.run(CommandStep.java:72)
      at org.jenkinsci.plugins.sshsteps.util.SSHStepExecution.lambda$start$0(SSHStepExecution.java:84)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at java.lang.Thread.run(Thread.java:748)
  Finished: FAILURE
  </code></pre>
  <p>Any friend meet the same situation, and suggest some advice.</p>
  <p>Or is there any other pipeline guide site?</p>