Authentication error configuring Jenkins to work with Git Bitbucket repo
I am trying to configure Jenkins in a Windows 7 environment to work with Git repository on Bitbucket, but when I try to do a build – I get the error below.
This is the Repository URL I am using:
Not sure if I need to generate keys for Jenkins-Bitbucket, if yes, can anyone please provide detailed instructions on how to do that for Windows?
Started by user anonymous Building in workspace C:\Users\<MY_NAME>\.jenkins\workspace\<MY_PROJECT> Fetching changes from the remote Git repository Fetching upstream changes from https://<MY_ID>@bitbucket.org/<MY_ID>/<MY_REPO_NAME>.git FATAL: Failed to fetch from https://<MY_ID>@bitbucket.org/<MY_ID>/<MY_REPO_NAME>.git hudson.plugins.git.GitException: Failed to fetch from https://<MY_ID>@bitbucket.org/<MY_ID>/<MY_REPO_NAME>.git at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:612) at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:836) at hudson.plugins.git.GitSCM.checkout(GitSCM.java:861) at hudson.model.AbstractProject.checkout(AbstractProject.java:1414) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:652) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:561) at hudson.model.Run.execute(Run.java:1678) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231) Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress https://<MY_ID>@bitbucket.org/<MY_ID>/<MY_REPO_NAME>.git +refs/heads/*:refs/remotes/<MY_ID>/*" returned status code 128: stdout: stderr: fatal: Authentication failed for 'https://<MY_ID>@bitbucket.org/<MY_ID>/<MY_REPO_NAME>.git/' at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1098) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:984) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$200(CliGitAPIImpl.java:68) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:217) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.fetch(CliGitAPIImpl.java:223) at hudson.plugins.git.GitAPI.fetch(GitAPI.java:229) at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:610) ... 10 more
2 Solutions collect form web for “Authentication error configuring Jenkins to work with Git Bitbucket repo”
OK, here is what worked for me, but first, my set-up was as follows:
- Windows 7
- Jenkins (with Git plugin)
- Account on Bitbucket
I started by following this tutorial. It works on Windows, all you have to do is double-click “Git Bash” in “C:\Program Files (x86)\Git” and follow the instruction to generate ssh keys. I only had to do Step 2 and Step 3.
NOTE: I generated keys without a passphrase! This was the only way I could get it to work…
Then, open the public key file “id_rsa.pub” that was generated in “C:\Users\YOUR_WINDOWS_USER_NAME\.ssh” with a text editor and copy the content. Once you have the public key, you need to register it with Bitbucket, go to “Manage Account” -> “SSH Keys” -> “Add Key”. Paste your public key and save.
To test the keys, I ran this command:
$ ssh -T email@example.com logged in as <USER_ID>. You can use git or hg to connect to Bitbucket. Shell access is disabled.
Now you need to register your private key with Jenkins: go to “Credentials” -> “Global credentials” -> “Add Credentials”, enter your User Name, Description (optional), select “From a file on Jenkins master” and enter C:\Users\YOUR_WINDOWS_USER_NAME\.ssh\id_rsa.
Last step is to configure Jenkins job. Under “Source Code Management”, select “Git”, under “Repository URL”, enter:
Under “Credentials”, select credential that you’ve just created.
NOTE: make sure that when you go to “Manage Jenkins” -> “Configure System” -> “Git”, “Path to Git executable” is set to something like “C:\Program Files (x86)\Git\cmd\git.exe”.
Following these steps I was able to pull down my code from the repository.
Not sure if I need to generate keys for Jenkins-Bitbucket
Keys? As in “ssh keys”? Certainly not if you are using an https url (as in this question). Login and password should be enough.
Double check your login/password and url: it is case sensitive.
Make sure your password don’t have any special character (that you would need to percent-encode, as in this case).
For using an ssh url, you can follow “Use the SSH protocol with Bitbucket” (after setting up ssh).
Make sure to modify the url of your git repo in your Jenkins job config to:
firstname.lastname@example.org:accountname/reponame.git # or ssh://email@example.com/accountname/reponame.git
But, make sure Jenkins runs as the user where the ssh keys are stored: see “Jenkins finds cannot find ssh key” and this BitBucket thread. (Check also your firewall)