使用ansible实现轻量级的批量主机管理

  查看ansible配置文件下的hosts的文件

[root@ansible-server scripts]# cat /etc/ansible/hosts
[test]
172.16.16.7
172.16.16.8
[root@ansible-server scripts]# 

1.生成秘钥对

  ssh-keygen -t rsa -f ~/.ssh/id_dsa -P ''"  -q  #生产密钥对,免交互,并安静输出

  这个命令会产生一个公钥(~/.ssh/id_dsa.pub)和密钥(~/.ssh/id_dsa),

  -t dsa:表示使用密钥的加密类型,可以为'rsa'和'dsa'

  -P '':表示不需要密码登录

  -f ~/.ssh/id_dsa:表示密钥存放的路径为${USER}/.ssh/id_dsa

  ssh-copy-id -i ~/.ssh/id_dsa.pub username@ip,hostname  #如果你是单台机器的话,可以使用这种方式把公钥文件传递到对方主机

   //被控主机下的文件信息

2.使用ansible-playbook来生成推送ymal文件

扫描二维码关注公众号,回复: 5421957 查看本文章

  这里使用到了authoried_keys模块 

# Using alternate directory locations:
- hosts: test    //可以是组也可以是全部
  user: root    //推送所使用的用户


  tasks: 
  - name: ssh-copy
    authorized_key:
      user=root 
      key="{{ lookup('file', '/root/.ssh/id_dsa.pub') }}"

 3.测试

[root@ansible-server scripts]# ansible all -m command -a date
172.16.16.8 | SUCCESS | rc=0 >>
Mon Mar  4 22:24:56 EST 2019
172.16.16.7 | SUCCESS | rc=0 >>
Mon Mar  4 22:24:56 EST 2019
[root@ansible-server scripts]# 

猜你喜欢

转载自www.cnblogs.com/dengcongcong/p/10475580.html
今日推荐