通过ansible批量设置随机密码
来源:互联网 发布:手机桌面图标整理软件 编辑:程序博客网 时间:2024/05/29 19:22
要求:
批量修改服务器的某账号(假设root账号)密码,用随机生成的字符串做密码
环境:
假设/etc/ansible/hosts文件中服务器的目标组如下
[target-servers]192.168.0.[1:100]
执行操作
1 通过openssl rand命令,在每台远程服务器上生成随机字符串用做候选口令字符
ansible target-servers -m shell -a "openssl rand -base64 12 > ~/.openssl"
可以用如下命令查看生成的结果
ansible target-servers -m shell -a "cat ~/.openssl"
2 用候选字符串设置密码
上面的openssl rand -base64 12命令生成的是16位的随机字符串,比如,取前12位作为密码的话,可以通过如下set-pass.sh脚本实现:
#!/bin/bashPASS=`cat ~/.openssl`SUBPASS=`echo ${PASS:0:12}`echo "root:$SUBPASS" | chpasswd
将如上脚本放在ansible中控机上,通过script模块就可以在远端服务器上执行,简单的playbook如下set-pass.yml:
---- hosts: '{{myhosts}}' remote_user: admin tasks: - name: set passwd script: ~/set-pass.sh become: true
批量执行操作为:
ansible-playbook set-pass.yml -e "myhosts=target-servers"
执行之后密码就设置完成了。
3 将各服务器上的字符串文件收归到中控机上
可以通过ansible的fetch模块获取远端服务器上的文件,简单的playbook如下fetch-file.yml:
---- hosts: '{{myhosts}}' remote_user: admin tasks: - name: fetch file fetch: src: ~/.openssl dest: ~/fetch/openssl-{{ inventory_hostname }} flat: yes
批量执行操作为:
ansible-playbook fetch-file.yml -e "myhosts=target-servers"
执行之后就可以在~/fetch/目录下看到获取到的文件,里面的内容就是上面生成的密码字符串
最后,可以将远端服务器上的字符串文件删除:
ansible target-servers -m shell -a "rm -f ~/.openssl"
上面的所有操作,可以汇总写到一个playbook里面。
阅读全文
0 0
- 通过ansible批量设置随机密码
- ansible批量设置服务器免密码登录
- ansible通过设置密码的私钥连接实现免密码登录
- ansible 批量创建用户 密码注意事项
- 批量创建用户,并生产随机密码
- 通过linux的shell脚本批量创建用户名,用户名所属目录,设置对应密码
- 通过linux的shell脚本批量创建用户名,用户名所属目录,设置对应密码
- 通过Oracle函数产生随机密码
- ansible 批量停止iptables
- ansible批量传输文件
- js随机设置8位密码
- Shell脚本批量创建用户并随机生成密码
- Linux批量生成生成帐户脚本,随机密码
- 批量添加用户并设置密码
- 05.12 ansible批量自动化管理工具
- ansible 批量重启服务
- ansible-playbook批量部署nginx
- 批量更新服务器,生成随机密码并记录 (重要,批量脚本示例)
- Unity2D游戏入门教程(一)宝石迷阵(1)创建项目
- hdu 1018
- 打印当前时间。
- 【C#】身份证识别(三):身份证信息识别
- yolo_v2训练自己的数据出现Obj: 0.000000, No Obj: 0.000000
- 通过ansible批量设置随机密码
- vmware linux和windows共享文件失效问题解决
- Code Festival 2017 qualA E-Modern Painting
- inno setup打包service
- HDU-5971 Wrestling Match (2016ACM/ICPC亚洲区大连站)
- 第4周项目5- 循环双链表应用
- java 中==和equals()方法的用法
- 编写代码模拟手机与SIM卡的组合关系。
- 销毁指定Activity的方法