Skip to content

mamh-java/ssh-agent-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSH Agent Plugin

This plugin allows you to provide SSH credentials to builds via a ssh-agent in Jenkins.

This is convenient in some cases. See alternatives below.

Requirements

You need to have the ssh-agent executable installed on the agent.

Configuring

First you need to add some SSH Credentials to your instance:

Jenkins | Manage Jenkins | Manage Credentials

Note that only Private Key based credentials can be used.

Pipeline

From a Pipeline job, use the sshagent step.

steps {
    sshagent(credentials: ['ssh-credentials-id']) {
      sh '''
          [ -d ~/.ssh ] || mkdir ~/.ssh && chmod 0700 ~/.ssh
          ssh-keyscan -t rsa,dsa example.com >> ~/.ssh/known_hosts
          ssh [email protected] ...
      '''
    }
}

Alternatives not using this plugin

Alternately, you can use the generic withCredentials step to bind an SSH private key to a temporary file and then pass that to commands that require it, for example using the -i option to ssh or scp:

withCredentials([sshUserPrivateKey(credentialsId: 'github', keyFileVariable: 'PK')]) {
    sh 'git -c core.sshCommand="ssh -i $PK" submodule update --init'
}

(Compare gitUsernamePassword binding.)

Or you can even use ssh-agent, but without this plugin, useful especially if you need to customize options in any way:

withCredentials([sshUserPrivateKey(credentialsId: 'github', keyFileVariable: 'PK')]) {
    sh '''
        eval `ssh-agent -s`
        trap "ssh-agent -k" EXIT
        ssh-add "$PK"
        # rest of script…
    '''
}

Freestyle

Then configure your build to use the credentials:

And then your build will have those credentials available, e.g.

Version History

For new versions, see GitHub releases.

For old versions, see the old changelog.

About

SSH Agent Plugin

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 98.8%
  • HTML 1.2%