前文讲了ansible,但是ansible是基于ssh来做的,首先的和管理主机之间做主机互信,简单来说主机互信就是把主机上产生的公钥传到互信主机上就可以了。
在主机上产生公钥文件。使用命令:ssh-keygen
然后把产生的公钥传到需要做互信的主机上。
公钥的位置:
使用命令ssh-copy-id进行传递。
但是要是有100台甚至更多的机器需要做主机互信就不可能使用命令来一个个做,
添加hosts主机:
编辑/etc/ansible/hosts
格式:【主机名】 【主机地址】 【主机密码】 默认是root用户来进行的
[all]
192.168.209.4 ansible_user=root ansible_ssh_pass='thunder'
使用ansible-playbook推送yaml文件,此时需要authoried_keys
这个模块。
编写yaml文件。
[root@tiandong ansible]# vim pushssh.yaml
---
- hosts: all
user: root
tasks:
- name: ssh-copy
authorized_key: user=root key="{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"
执行推送命令:
[root@tiandong ansible]# ansible-playbook pushssh.yaml
此时进行测试
[root@tiandong ansible]# ansible all -m ping
192.168.209.4 | SUCCESS => {
"changed": false,
"ping": "pong"
}