ansible实现批量创建互信

Ansible:自动化运维工具html

为何要创建互信:ansible批量配置管理的前提是管理机和被管理机ssh互信,即经过将管理主机的公钥(id_rsa.pub)添加到目标主机上,实现管理机不经过交互式输入密码就能够登陆目标主机。bash

创建互信运维

一、生成秘钥对ssh

$ ssh-keygen -t rsa

一路回车便可工具

二、创建互信:测试

格式: ssh-copy-id -i ~/.ssh/id_rsa.pub username@[ip,hostname]  //[]内为目标主机的信息spa

$ ssh-copy-id -i ~/.ssh/id_rsa.pub username@192.168.1.2

根据提示完成操做即完成了互信。code

批量创建互信htm

经过上面方法创建少许的互信操做起来还OK,可是若是目标主机数量多的状况下再手动的执行就太慢了,因此这里采用ansible的authoried_keys 模块进行批量创建互信blog

参考:http://docs.ansible.com/authorized_key_module.html

一、配置hosts文件(ansible的目标主机定义文件)

$ cat /etc/ansible/hosts [test] 192.168.12.5[1:4]       #表示192.168.12.51-192.168.12.54
192.168.12.5[6:9] 192.168.13.101
192.168.13.103

二、创建playbook(称为剧本,ansible按它中的配置批量执行命令)

$ cat pushssh.yaml
--- - hosts: test #test对呀hosts文件中的主机组名称 # 互信用户 user: abm tasks: - name: ssh-copy authorized_key: user=hoxis key="{{ lookup('file', '/home/abm/.ssh/id_rsa.pub') }}"

三、执行

$ ansible-playbook pushssh.yaml

 

四、测试

命令:ansible test -m ping

 

返回绿色SUCCESS,表明互信成功能够批量执行ansible命令了。

相关文章
相关标签/搜索