我目前正在为 Ubuntu 创建一个通用的 ansible 剧本。
在强化过程中,我禁用了 root 用户并创建一个新的 sudo 用户来运行未来的剧本(称为ansible
)。
第一次运行这个剧本时我已将ansible_ssh_user
其设置为root
第二次我必须手动将ansible_ssh_user
var 更改为ansible
。
有没有办法让 ansible 跟踪哪些主机已完成此步骤并与新创建的ansible
用户建立连接,甚至回退到第二次用户名尝试。如果可能的话,我希望这个过程是无人值守的。
编辑: 我正在尝试在建立新连接时更正用户。例如,我在一台服务器上运行了强化剧本。现在我想运行它来配置新服务器并对现有服务器进行一些更新。因此我有两个用户名 root 和 ansible。我希望脚本尝试两者而不是设置主机变量,主机变量是我在这里唯一的选择吗?
答案1
使用您的库存脚本可以查询的元数据,然后根据目标框的组选择用户。
例如,使用 AWS,hardened
在设置 ansible 用户后设置一个标签,然后当您运行其他游戏时,您可以在设置了强化标签的主机上使用 ansible 用户。这将使用 AWS 清单自动显示为一个组。