【发布时间】:2017-02-23 16:53:51
【问题描述】:
我在这个论坛上看到了很多,但没有一个答案对我有帮助。
我正在尝试运行 ansible 剧本,这在我的 Debian PC 上运行良好。现在我已经转移到 Ubuntu 16.04 它不工作了。我收到权限被拒绝的公钥错误。
我假设这是因为我正在运行 sudo ansible-playbook。
然后,这将尝试使用我的 root 用户的公钥,该公钥不在我试图 ansible 的服务器上。
如何以 sudo 运行 ansible-playbook,但使用当前用户的 ssh 密钥?
如果我以 sudo 运行,我会得到
fatal: [10.11.8.1]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n", "unreachable": true}
如果我不以 sudo 身份运行,我会得到
fatal: [10.11.8.1]: FAILED! => {"failed": true, "msg": "Cannot write to ControlPath /home/chrisl/.ansible/cp"}
[警告]:无法创建重试文件“/home/chrisl/ansible/keys.retry”。 [Errno 13] 权限被拒绝:u'/home/chrisl/ansible/keys.retry'
我也试过这个,你可以看看会发生什么......
【问题讨论】:
-
在第二个示例中,您的“chrisl”用户帐户无法完全读取/写入/更新“/home/chrisl/ansible/keys.retry”文件。您能否确认您的“chrisl”帐户可以查看/读取/写入该文件?我认为这与您的问题没有直接关系,但以后可能会对其产生影响。
-
这真的是 ansible 问题吗?您的 chris 帐户显然存在一些权限问题。您可能想尝试 sudo 的 -H 标志。
标签: ansible