3:ansible批量添加ssh key


一、概述

1、概述

ansible本身就是自动化运维工具,如果有100台业务主机需要通过ansible管理,那么难道一台一台添加ssh key吗?

当然不是

 

2、配置

vim  /etc/ansible/hosts      #添加需要管理的业务主机IP
[tomcat]
192.168.6.3
192.168.6.4
192.168.6.7
192.168.6.8
192.168.6.9
192.168.6.10
192.168.6.11
192.168.6.12
192.168.6.16
192.168.6.17
192.168.6.25
192.168.6.26
192.168.6.27
192.168.6.28


ansible all -m authorized_key -a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub')}}' path='/root/.ssh/authorized_keys' manage_dir=no" --ask-pass -c paramiko
#因为密码都一样,所以只需要输入一次密码即可,如果密码不同  需要自定义

#说明:
user=root    #将秘钥推送到远程主机的哪个用户下
key='{{ lookup('file','/root/.ssh/id_rsa.pub')}}'    #指定要推送的秘钥文件所在的路径
path='/root/.ssh/authorized_keys'    #将秘钥推送到远程主机的哪个目录下并重命名
manage_dir=no       #指定模块是否应该管理authorized_keys文件所在的目录,如果设置为yes,模块会创建目录,以及设置一个已存在目录的拥有者和权限。如果通过 path 选项,重新指定了一个 authorized key 文件所在目录,那么应该将该选项设置为 no
exclusive [default: no]: #是否移除 authorized_keys 文件中其它非指定 key
state (Choices: present, absent) [Default: present]: #present 添加指定 key 到 authorized_keys 文件中;absent 从 authorized_keys 文件中移除指定 key

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM