![无法使用 r10k 从私有 git repo 进行部署](https://linux22.com/image/684553/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20r10k%20%E4%BB%8E%E7%A7%81%E6%9C%89%20git%20repo%20%E8%BF%9B%E8%A1%8C%E9%83%A8%E7%BD%B2.png)
我正在学习如何使用 r10k 来部署我的 puppet 代码,但在尝试从我的控制仓库部署时遇到了麻烦。我收到的错误消息是:
Failed to authenticate SSH session: Unable to extract public key from private key file: Method unimplemented in libgcrypt backend
我已经验证我的 ssh 密钥在直接连接到服务器时有效。
r10k 的文档有点混乱,但据我所知,指定 ssh 密钥的唯一方法是使用 rugged gem,据我所知,Ubuntu 上的 libssh2(rugged 通过 libgit2 依赖于它)链接到 libgcrypt 而不是 openssl。'shellgit' 提供程序似乎没有任何指定 ssh 密钥的方法。
解决这个问题最简单的方法是什么?
编辑:我还没有真正解决尝试配置“rugged”提供程序的问题,但我确实弄清楚了为什么“shellgit”不起作用 - 我使用 sudo 运行 r10k,而 git 服务器不在 root 的 known_hosts 文件中,导致密钥身份验证失败。一旦我将主机添加到文件,使用 shellgit 一切都会顺利运行。
答案1
根据Jason的编辑:
我还没有真正解决尝试配置“rugged”提供程序的问题,但我确实弄清楚了为什么“shellgit”不起作用 - 我使用 sudo 运行 r10k,而 git 服务器不在 root 的 known_hosts 文件中,导致密钥身份验证失败。一旦我将主机添加到文件,使用 shellgit 一切都会顺利运行。