Ansibleauthorized_key不会删除密钥

时间:2018-06-29 22:01:35

标签: ansible

我正在尝试使用Ansible删除一些键。该命令成功运行,但不会编辑文件。

ansible all -i inventories/staging/inventory -m authorized_key -a "user=deploy state=absent key={{ lookup('file', '/path/to/a/key.pub') }}"

运行此命令将返回以下结果:

staging1 | SUCCESS => {
    "changed": false,
    "comment": null,
    "exclusive": false,
    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxKjbpkqro9JhiEHrJSHglaZE1j5vbxNhBXNDLsooUB6w2ssLKGM9ZdJ5chCgWSpj9+OwYqNwFkJdrzHqeqoOGt1IlXsiRu+Gi3kxOCzsxf7zWss1G8PN7N93hC7ozhG7Lv1mp1EayrAwZbLM/KjnqcsUbj86pKhvs6BPoRUIovXYK28XiQGZbflak9WBVWDaiJlMMb/2wd+gwc79YuJhMSEthxiNDNQkL2OUS59XNzNBizlgPewNaCt06SsunxQ/h29/K/P/V46fTsmpxpGPp0Q42sCHczNMQNS82sJdMyKBy2Rg2wXNyaUehbKNTIfqBNKqP7J39vQ8D3ogdLLx6w== arthur@Inception.local",
    "key_options": null,
    "keyfile": "/home/deploy/.ssh/authorized_keys",
    "manage_dir": true,
    "path": null,
    "state": "absent",
    "unique": false,
    "user": "deploy",
    "validate_certs": true
}

该命令是成功的,但未显示任何更改。它们的密钥仍保留在服务器上。

对我想念的东西有什么想法吗?

1 个答案:

答案 0 :(得分:1)

当您尝试使用不同于deploy的非root帐户(即没有必要的权限)删除授权密钥时,就会发生您描述的行为。

在命令中添加--become-b)参数:

ansible all -b -i inventories/staging/inventory -m authorized_key -a "user=deploy state=absent key={{ lookup('file', '/path/to/a/key.pub') }}"

也就是说,我没有理由证明ok状态;任务应该失败。在我看来,这似乎是Ansible中的错误;我提交了an issue on GitHub