SSH git commands with username and password SSH git commands with username and password jenkins jenkins

SSH git commands with username and password


Assuming you're using a recent version of Git, you can use the GIT_SSH_COMMAND environment variable:

  GIT_SSH, GIT_SSH_COMMAND      If either of these environment variables is set then git fetch      and git push will use the specified command instead of ssh when      they need to connect to a remote system. The command will be      given exactly two or four arguments: the username@host (or just      host) from the URL and the shell command to execute on that      remote system, optionally preceded by -p (literally) and the port      from the URL when it specifies something other than the default      SSH port.      $GIT_SSH_COMMAND takes precedence over $GIT_SSH, and is      interpreted by the shell, which allows additional arguments to be      included.  $GIT_SSH on the other hand must be just the path to a      program (which can be a wrapper shell script, if additional      arguments are needed).      Usually it is easier to configure any desired options through      your personal .ssh/config file. Please consult your ssh      documentation for further details.

So, before you call git, you can simply:

export GIT_SSH_COMMAND='ssh -i /path/to/key'

If you can't use an SSH key, you can use the the Jenkins Credential Binding plugin.


  1. Another way would be to use the credentials binding plugin. This plugin allows credentials to be bound to environment variables to use from miscellaneous build steps.

  2. You could always just login to the remote box and add the Github credentials manually

Cheers