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

expose the user of the credentialId used by sshagent

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Unresolved
    • Icon: Minor Minor
    • ssh-agent-plugin
    • None

      As described here https://support.cloudbees.com/hc/en-us/articles/218497418-How-to-expose-a-passphrase-authenticated-SSH-key-stored-in-Jenkins-to-the-Docker-instance we can use the sshagent to authenticate to a ssh target, but one still has to provide the username explicitely. If for some reason no only the key, but also the user changes, the script has to be adjusted aswell.

      It would be useful to access the user that is provided in the ssh credential and have it injected as environment variable. e.g.

       

      node {
          sshagent([credentialsId: 'credential-id', usernameVariable: 'SSH_USER']) {
             sh 'ssh -vvv -o StrictHostKeyChecking=no -l $SSH_USER example.org uname -a'
          }
      }
      

      the syntax is very similar to withCredentials and there is also a open pull request to the binding plugin, so I'm so sure if it's the right place to ask for:

      see https://github.com/jenkinsci/credentials-binding-plugin/pull/18

       

       

            Unassigned Unassigned
            dageissl Daniel Geißler
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: