我正在学习使用 r10k 来部署我的 puppet 代码,但在尝试从我的控制仓库部署时遇到了障碍。我得到的错误信息是:
Failed to authenticate SSH session: Unable to extract public key from private key file: Method unimplemented in libgcrypt backend
我已验证我的 ssh 密钥在直接连接到服务器时有效。
r10k 的文档有点令人困惑,但据我所知,指定 ssh 密钥的唯一方法是使用坚固的 gem,并且据我所知,Ubuntu 上的 libssh2(坚固取决于通过 libgit2)链接到 libgcrypt而不是openssl。'shellgit' 提供者似乎没有任何指定 ssh 密钥的方法。
解决这个问题的最简单方法是什么?
编辑:我还没有真正解决尝试配置“坚固”提供程序的问题,但我确实弄清楚了为什么“shellgit”不起作用 - 我正在使用 sudo 运行 r10k 并且 git 服务器不在 root 的 known_hosts 文件中,导致密钥认证失败。一旦我将主机添加到文件中,一切都使用 shellgit 顺利运行。
根据杰森的编辑: