使用ansible批量搞机的前提是ansible主控机器能免秘钥的登录被管理的机器,如果此时有大量的机器没有做好免密登录呢?
如果人肉手动一台一台去操作太麻烦了,写脚本当然也可以,但是脚本也不是那么快就写出来的。
有什么办法可以快速的配置好免密登录呢?有的!ansible自带这种功能,我们只需要用到ansible的authorized_key模板即可
演示如下:
- 首先要在ansible主控机器上生成好公私秘钥,请参考
- 配置好inventory hosts,默认路径在/etc/ansible
- 执行ansible命令
ansible all -m authorized_key -a "user=root exclusive=true manage_dir=true key='$(< /root/.ssh/id_rsa.pub)'" -k
然后输入统一的登录密码,看到以下截图的提示就是设置免密登录成功了。
最后可以用ansible测试下效果