I got a troubling issue with Ansible. I setup a git cloning on my environment using ssh key of my current host:
- name: Add user Public Key
copy:
src: "/Users/alexgrs/.ssh/id_rsa.pub"
dest: "/home/vagrant/.ssh/id_rsa.pub"
mode: 0644
- name: Add user Private Key
copy:
src: "/Users/alexgrs/.ssh/id_rsa"
dest: "/home/vagrant/.ssh/id_rsa"
mode: 0600
- name: Clone Repository
git:
repo: repo.git
dest: /home/vagrant/workspace/
update: true
accept_hostkey: true
key_file: "/home/vagrant/.ssh/id_rsa.pub"
If I vagrant ssh
on Vagrant and execute git pull repo
it works. But when I do a vagrant provision
I got the following error message:
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
I'm pretty sure my publickey is not used by vangrant provision but I'm not able to detect why.
Did you already see this kind of issue ?
Thank you.
EDIT: It seems that ansible is not doing a git clone but is trying the following command:
/usr/bin/git ls-remote ssh://repo.git -h refs/heads/HEAD
I tried it in my vagrant box and I have the same permission denied issue.
In the key_file option, you are using the public key when you should be using the private key
Source: http://docs.ansible.com/git_module.html