天天看点

ansible基于key验证免密批量管理远程主机

不说废话,直接开始,希望给些参考帮助。

1.ansible安装就不用说了吧,yum安装就可以。

2.假如电脑条件允许,可以同时开2个或多个虚拟机;或者你有可以连接的远程机器

自己制定主机清单文件,例如:

[server]

192.168.1.1

假如这是你定义的远程管理的主机ip,可以用 ansible -i 主机清单 server -m ping 检测是否能够连接,这也是管理主机的检测方法。

ansible基于key验证免密批量管理远程主机

上面这个执行结果是不能成功的,ansible -i 主机清单 server -m ping -u用户 -k 这样执行,在输入密码就可以得当成功的返回结果。

ansible基于key验证免密批量管理远程主机

但是我们不希望每次都输入密码,就需要基于key的验证来实现免密管理。

  执行ssh-keygen命令,过程中可以输入密码增加安全系数,否则一直回车。执行完成,在你的家目录~/.ssh目录下存在俩个文件id_rsa 和 id_rsa.pub,这样先利用上面管理的方式和ansible的copy模块将d_rsa.pub复制到你所管理的主机用户的~/.ssh目录下。

执行这个命令:ansible -i 主机清单 -m copy -a 'src=~/.ssh/id_rsa.pub dest=~/.ssh/authorized_keys mode=0600' -u用户 -k  

会出现:

ansible基于key验证免密批量管理远程主机

然后再执行ansible -i 主机清单 server -m ping -u用户 就会发现不用输入密码就可以得到返回结果。

ansible基于key验证免密批量管理远程主机

继续阅读