沙大斌ansible

利用Ansible 批量推送公钥

2022-07-13  本文已影响0人  自由如风才是少年的梦

前言

利用ansible 自动化运维工具实现批量推送公钥。

1、安装Ansible服务端

yum install epel-release  
yum install ansible -y
# ansible --version
ansible 2.9.6
  配置文件路径config file = /etc/ansible/ansible.cfg
  查询模块路径configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Aug  7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

二、playbook 批量推送

# vim ansible.cfg
[defaults]
host_key_checking = False  #取消注释
ssh-keygen    
# cat send-pubkey.yml
- hosts: all
  remote_user: root   # 连接远程主机的用户,密码就是文件中设置好的 ansible_ssh_pass 的值
  vars_files:
    - foo.yml    # 设置用户名密码 由于我是root用户且密码全为 1  ansible_ssh_pass: 1
  tasks:
  - name: Set authorized key taken from file
    authorized_key:    # 发送公钥的模块
      user: root            # 给这个用户发送公钥
      state: present
      key: "{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"    # 发送本地用户的公钥路径
# vim foo.yml
ansible_ssh_pass: 1  
#这里我是密码全为1 ,如果不是 请自行百度: 多主机且密码不一样时如何书写yml文件
# vim hosts
[webserver]
...
[dbserver]
...
ansible-playbook -i hosts send-pubkey.yml
ansible all -i hosts -m ping

*#注意以上配置文件放在同一个目录下执行

上一篇 下一篇

猜你喜欢

热点阅读