利用Ansible 批量推送公钥


前言

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


1、安装Ansible服务端

  • yum安装
# 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    
  • 编写playbook文件
# 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') }}"    # 发送本地用户的公钥路径
  • 编辑foo.yml文件 设置密码
# vim foo.yml
ansible_ssh_pass: 1  
#这里我是密码全为1 ,如果不是 请自行百度: 多主机且密码不一样时如何书写yml文件
  • 编辑资产文件hosts
# vim hosts
[webserver]
...
[dbserver]
...
  • 执行
# ansible-playbook -i hosts send-pubkey.yml
  • 验证
# ansible all -i hosts -m ping

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自由如风才是少年的梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值