Can’t deploy from private git repo using r10k

gitlabpuppetr10k

I'm working on learning to use r10k to deploy my puppet code, and I've run into a snag when trying to deploy from my control repo. The error message I get is:

Failed to authenticate SSH session: Unable to extract public key from private key file: Method unimplemented in libgcrypt backend

I've verified that my ssh key works when directly connecting to the server.

The documentation for r10k is a bit confusing, but from I what I can tell the only way to specify a ssh key is by using the rugged gem, and from what I understand libssh2 (which rugged depends on via libgit2) on Ubuntu links to libgcrypt instead of openssl. The 'shellgit' provider does not seem to have any way of specifying a ssh key.

What's the easiest way resolve this?

EDIT: I haven't really solved the issue of trying to configure the 'rugged' provider, but I did figure out why 'shellgit' wasn't working – I was running r10k using sudo and the git server was not in root's known_hosts file, causing key authentication to fail. Once I added the host to the file everything ran smoothly using shellgit.

Best Answer

As per the edit of Jason:

I haven't really solved the issue of trying to configure the 'rugged' provider, but I did figure out why 'shellgit' wasn't working - I was running r10k using sudo and the git server was not in root's known_hosts file, causing key authentication to fail. Once I added the host to the file everything ran smoothly using shellgit.

Related Topic