运行剧本
[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 通过 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
