Ansible 可解释的许可问题

Ansible 可解释的许可问题,ansible,Ansible,我在这个论坛上看到了很多,但是没有一个答案对我有帮助 我正在尝试运行一个ansible playbook,它在我的Debian PC上运行得很好。现在我已经迁移到Ubuntu 16.04,它不工作了。我的权限被拒绝,公钥错误 我想这是因为我在运行sudo ansible playbook 然后,这将尝试使用来自我的根用户的公钥,该根用户不在我尝试访问的服务器上 如何以sudo的身份运行ansible playbook,但使用当前用户的ssh密钥 如果我像苏多那样跑步 fatal: [10.11.

我在这个论坛上看到了很多,但是没有一个答案对我有帮助

我正在尝试运行一个ansible playbook,它在我的Debian PC上运行得很好。现在我已经迁移到Ubuntu 16.04,它不工作了。我的权限被拒绝,公钥错误

我想这是因为我在运行sudo ansible playbook

然后,这将尝试使用来自我的根用户的公钥,该根用户不在我尝试访问的服务器上

如何以sudo的身份运行ansible playbook,但使用当前用户的ssh密钥

如果我像苏多那样跑步

fatal: [10.11.8.1]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n", "unreachable": true}
fatal: [10.11.8.1]: FAILED! => {"failed": true, "msg": "Cannot write to ControlPath /home/chrisl/.ansible/cp"}
如果我没有像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}
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。重试'

我也尝试过这个,你可以看到发生了什么


在您以用户
root
身份运行第一个命令
ansible playbook
后,从您的用户
chris
执行后,会在
chris
的主文件夹下留下(创建)属于用户
root
的文件。然后下一次以用户身份运行
chris
无法修改属于
root
的文件

你应该做的是:

  • 确定您希望/需要在此处使用的ssh方法-ssh代理或无密码默认ssh密钥,b/c由于密钥问题,第一个命令失败。您还可以将参数
    --private key=/path/to/key
    ,如果它是无密码的
  • 修复:作为用户
    root
    使
    /home/chris
    下的所有文件都属于用户
    chris
    及其默认组:
    sudo chown-R chris:chris/home/chris
  • 如果您有大量数据,上述命令可能需要一些时间
  • 从特定的、相同的用户运行您的剧本,不要混用。如果你在混音——学习如何正确地进行混音
  • 了解/阅读/实验unix权限、身份切换、环境等,b/c这不是“ansible权限”问题,而是“chris了解unix权限”问题,考虑到您刚刚开始使用unix/linux,这是可以的

祝你好运。

在第二个示例中,您的“chrisl”用户帐户无法完全读取/写入/更新“/home/chrisl/ansible/keys.retry”文件。您能否确认您的“chrisl”帐户可以查看/读取/写入该文件?我不认为这与你的问题有直接关系,但它可能会影响到以后的问题。这真的是一个可以解释的问题吗?您的chris帐户显然存在一些权限问题。您可能想尝试使用sudo的-H标志。