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.