所以我得到了安全的设置,并通过我的ansible_hosts文件成功地设置了主机configuration:
104.236.59.171 ansible_connection=ssh ansible_user=root
检查我得到的主机的configuration状态:
104.236.59.171 | success >> { "var": { "hostvars['104.236.xx.xxx']": { "ansible_connection": "ssh", "ansible_user": "root", "group_names": [ "ungrouped" ], "inventory_hostname": "104.236.xx.xxx", "inventory_hostname_short": "104" } } }
但是,本地机器上的用户/名称优先于需要用于成功login的ansible_uservariables。
我可以用我的命令中的-u选项来覆盖它,但是当我在多个服务器实例上有多个不同的用户时,我正在遍历所有这些用户,这不会是一个选项。
我如何去覆盖从本地机器获得的默认用户?
谢谢你的帮助!
检查variables优先顺序的Ansible文档。
如果使用-u参数提供ansible_uservariables,它将始终覆盖每个其他variables定义。
由于inventory vars量几乎在链表的顶部,因此您需要检查其他级别的variables定义。 我会检查与其他variables定义的grep并删除这些。