运行剧本

[jack@onitroad ~]# ansible-playbook -i inventory.ini add-ssh-user.yml --ask-pass

请注意,Ansible 会提示我们输入远程主机的 root 密码

创建库存文件

在列表文件中,我们将添加由 Ansible 管理的远程主机

[jack@onitroad ~]# vi inventory.ini
[webservers]
web01
web02
web03
web04
web05

[dbservers]
db01
db02
db03
使用 Ansible 创建用户帐户并配置基于密钥的身份验证

Ansible 通过 SSH 与远程机器通信。
在本教程中,我们将创建一个剧本,我们将为基于密钥的身份验证创建一个用户并将公钥复制到远程主机。

创建 Ansible 剧本

假设我们已经在 ansible 管理服务器上为帐户用户 ansadm 生成了一个 SSH 密钥对,在这个剧本中,我们将在远程主机上创建一个名为“ansadm”的永不过期的用户帐户,我们将它添加到 sudoers,我们将将公钥复制到用户 ansadm 的主目录。

[jack@onitroad ~]# su – ansadm
[jack@onitroad ~]# vi add-ssh-user.yml
--
- hosts: all
  vars:
    - ansadm_password: 'YOUR_HASHED_PASSWORD'
  gather_facts: no
  remote_user: root
  tasks:
  - name: 1. Add user ANSADM
    user:
         name=ansadm
         password={{ ansadm_password }}

  - name: 2. Change Expire Password Account to never
    command: chage -E -1 ansadm

  - name: 3. Add remote user to sudoers
    lineinfile:
         "dest=/etc/sudoers
         regexp='^remote ALL'
         line='ansadm ALL=(ALL) NOPASSWD: ALL'
         state=present"

  - name: 4. install ssh key
    authorized_key: user=ansadm 
                    key="{{ lookup('file', '/home/ansadm/.ssh/id_rsa.pub') }}" 
                    state=present
日期:2020-06-02 22:18:58 来源:oir作者:oir