Sometimes could happen that jenkins cannot work good with github repos in our project dependencies.
Errors could be something like:
git@github.com:zendframework/zend-uri.git
Cloning into '/var/www/vendor/zendframework/zend-uri'...
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
or:
Cloning into 'zend-uri'...
Permission denied (publickey).
fatal: Could not read from remote repository.
For avoid these type of errors, you can add a public ssh key to your jenkins user:
1. First of all, you have to connect to the host and change the user to “jenkins”:
$ su jenkins
2. After that, try to see if we have already the ssh public key:
$ ssh -T git@github.com
Permission denied (publickey).
3. We don’t have it yet, so we create with (Hit enter at every request):
$ ssh-keygen -t rsa -b 4096 -C "your@githubaccount.email"
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.
4. Now we start the ssh agent:
$ eval "$(ssh-agent -s)"
Agent pid 1011
5. And add our new public key in the system:
$ ssh-add ~/.ssh/id_rsa
Identity added: /var/lib/jenkins/.ssh/id_rsa (/var/lib/jenkins/.ssh/id_rsa)
6. Ok, now we need to add this new public key to our account, follow this instructions.
7. Now we can try again to connect to github:
$ ssh -T git@github.com
Warning: Permanently added the RSA host key for IP address '192.30.253.113'
to the list of known hosts.
Hi github_user! You've successfully authenticated, but GitHub does not provide
shell access.