前文讲了ansible,但是ansible是基于ssh来做的,首先的和管理主机之间做主机互信,简单来说主机互信就是把主机上产生的公钥传到互信主机上就可以了。

在主机上产生公钥文件。使用命令:ssh-keygen

然后把产生的公钥传到需要做互信的主机上。

公钥的位置:

ansible主机互信-风君雪科技博客

使用命令ssh-copy-id进行传递。

但是要是有100台甚至更多的机器需要做主机互信就不可能使用命令来一个个做,

添加hosts主机:

编辑/etc/ansible/hosts

格式:【主机名】 【主机地址】 【主机密码】 默认是root用户来进行的

[all]
192.168.209.4 ansible_user=root ansible_ssh_pass=’thunder’

ansible主机互信-风君雪科技博客

使用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’) }}”

ansible主机互信-风君雪科技博客

执行推送命令:

[root@tiandong ansible]# ansible-playbook pushssh.yaml

ansible主机互信-风君雪科技博客

此时进行测试

[root@tiandong ansible]# ansible all -m ping
192.168.209.4 | SUCCESS => {
    “changed”: false,
    “ping”: “pong”
}