Ansible自动化运维之远程批量创建用户 && 批量免密登录设定

文章目录

  • 1. 批量创建用户(playbook循环&&user模块 的应用 )
    • 方法一
    • 方法二(加密)
  • 2. 批量对主机进行免密登录设定

1. 批量创建用户(playbook循环&&user模块 的应用 )

方法一

只创建用户
创建用户并设定密码
  • 编写yml文件
---
- hosts: web
  tasks:
    - name: create users
      user:
        name: "{{ item.user }}"
        state: present
        password: "{{ item.pass | password_hash('sha512') }}"
      loop:
        - { user: user1,pass: linux }
        - { user: user2,pass: redhat }
        - { user: user3,pass: ansible }

 
  • playbook 执行Ansible自动化运维之远程批量创建用户 && 批量免密登录设定_第1张图片

由于密码是明文的,这种方法并不安全

方法二(加密)

  • 将创建用户的信息单独写入文件
[devops@server1 ansible]$ vi userlist.yml
---
userlist:
  - user: user1
    pass: linux
  - user: user2
    pass: redhat
  - user: user3
    pass: ansible
  • 将用户信息文件导入主yml文件
[devops@server1 ansible]$ vi createuser.yml 
---
- hosts: web
  vars_files:
    - userlist.yml
  tasks:
    - name: create users
      user:
        name: "{{ item.user }}"
        state: present
        password: "{{ item.pass | password_hash('sha512') }}"
      loop: "{{ userlist }}"
  • 对用户信息文件进行加密
[devops@server1 ansible]$ vi createuser.yml 

在这里插入图片描述
用户只能输入密码来查看和编辑被建立用户的信息
Ansible自动化运维之远程批量创建用户 && 批量免密登录设定_第2张图片
在这里插入图片描述
Ansible自动化运维之远程批量创建用户 && 批量免密登录设定_第3张图片

2. 批量对主机进行免密登录设定

  • 编写yml文件
---
- hosts: all
  tasks:
    - name: set up authorized keys
      authorized_key:
        user: root
        state: present
        key: '{{item}}'
      with_file:
        - ~/.ssh/id_rsa.pub
  • 执行playbook
    Ansible自动化运维之远程批量创建用户 && 批量免密登录设定_第4张图片

  • 设定成功
    Ansible自动化运维之远程批量创建用户 && 批量免密登录设定_第5张图片

你可能感兴趣的:(自动化运维ansible)