在Ansible中创建非root用户并禁用root SSH

我正在尝试编写一个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登录等所需的所有任务.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...