Brian
Brian

Reputation: 13593

Setting jenkins git returns "Host key verification failed" error

I want to put one of my jenkins projects into source code management with git.

However, when I typed [email protected]:myGitlabAccount/myProjectName.git into Repository URL under Source Code Management tab in the project configuration page. I saw the following error message:

Failed to connect to repository : Command "git.exe ls-remote -h [email protected]:myGitlabAccount/myProjectName.git" returned status code 128:
stdout: 
stderr: Host key verification failed. 
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

There's no error message when I type git.exe ls-remote -h [email protected]:myGitlabAccount/myProjectName.git under windows command line.

I can git clone [email protected]:myGitlabAccount/myProjectName.git successfully.

And I think that Jenkins Host key verification failed is a solution to my problem if I were a linux jenkins user.

But I use jenkins under windows environment, and I don't find any user called jenkins in windows.

How can I switch to jenkins user and type git ls-remote -h [email protected]:person/projectmarket.git HEAD manually in windows environment?

Upvotes: 4

Views: 20709

Answers (4)

Saurabh Agrawal
Saurabh Agrawal

Reputation: 19

One alternative which worked for me is to use HTTPS rather then SSH link under "Clone or Download tab". With SSH I am still seeing issue which i have to analyze more, but for time being HTTPS worked straight forward.

Upvotes: 1

Brian
Brian

Reputation: 13593

enter image description here

Because I installed jenkins as a windows service, I have to go to jenkins service page, and change its login account to the account I use to login windows.

In this way, jenkins can access the known_hosts file I used in my windows environment.

Upvotes: 6

Harry Blauberg
Harry Blauberg

Reputation: 101

If you installed Jenkins per default as a Windows service, you can copy a file named "known_hosts" under the directory

C:\Windows\System32\Config\SystemProfile\ .ssh

This will be read by Jenkins then and allow it to access your Git server.

Upvotes: 10

CodeWizard
CodeWizard

Reputation: 142632

You need to generate ssh keys on your jenkins machine and add them to your gitlab account

If you are using windows open git bash and type the following:

# generate keys
ssh-keygen -t rsa

click ENTER on each step and if you already have a key you will get a warning that a certificate already exist.

Now copy the public key and paste it under you gitlab account

# grab the key
cat ~/.ssh/id_rsa.pub

Login you your gitlab account and add this key (you will see ssh-keys on the top menu once logged in)

enter image description here

Upvotes: 4

Related Questions