我正在尝试编写一个Ansible playbook来引导我的服务器.默认情况下,在Linode上我只能以root身份使用密码登录,因此我的playbook以root身份登录,使用SSH密钥创建非root用户,并禁用root和密码SSH.
这是一个问题,因为我现在无法再次运行该剧本,因为root登录已被禁用!我希望该剧本具有幂等性,而不必在引导它们之后添加和删除主机.
解决方法
如果使用
linode module在Linode上创建服务器,则可以注册linode任务的返回值,并包含引导任务,并在条件下检查linode任务的输出.这应该是幂等的.尝试这样的事情:
- linode: api_key: 'longStringFromLinodeApi' name: linode-test1 plan: 1 datacenter: 2 distribution: 99 password: 'superSecureRootPassword' private_ip: yes ssh_pub_key: 'ssh-rsa qwerty' swap: 768 wait: yes wait_timeout: 600 state: present register: linode_node - include: bootstrap.yml when: linode_node.changed
bootstrap.yml将包含禁用ssh root登录等所需的所有任务.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。