Ansible 批量修改密码
客户要求每3个月修改一次主机密码。密码规则为客服提供的一串字符 xxxx + 主机后3位。
将需要登录主机添加到 Ansible。
- 将需要登录主机的公钥添加到 known_hosts
ssh-keyscan 192.168.1.11 192.168.1.12 192.168.1.13 >> /root/.ssh/known_hosts
- 生产 Ansible 主机的秘钥
ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa
- 将需要登录主机添加到 hosts
[zk]
192.168.1.11 ansible_ssh_pass=xxxx
192.168.1.12 ansible_ssh_pass=xxxx
192.168.1.13 ansible_ssh_pass=xxxx
- Ansible playbook
---
- hosts: zk
gather_facts: no
tasks:
- name: install ssh key
authorized_key: user=root
key="{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"
state=present
执行 playbook
ansible-playbook ssh-addkey.yml
这时候去把 hosts 文件里面的 ansible_ssh_pass 删掉。
执行ansible all -m ping 也不需要密码
此方案只适用于刚拿到的服务器,当你禁止root登录以后,此方案失效。
解决方法是,使用普通用户,赋予sudo权限
批量修改密码
客户给的字符串为 Rfv5%+,将该字符串及主机名后三位赋予xx变量
修改密码脚本 pass_modify.sh
#!/bin/bash
xx=Rfv5%+`hostname|grep -oP '...$'`
echo "$xx"|passwd --stdin root
使用 ansible script 模块,远程执行该脚本即可。
其余方法:
---
- hosts: zk
gather_facts: false
tasks:
- name: change user passwd
user: name={{ item.name }} password={{ item.chpass | password_hash('sha512') }} update_password=always
with_items:
- { name: 'root', chpass: 'Lcsmy,123' }
Ansible 批量修改密码的更多相关文章
- Ansible批量修改root密码
0x01:首先做好免密登录 http://www.cnblogs.com/evlon/p/8094306.html 0x02:批量修改密码 ansible all -m raw -a "ec ...
- linux '--stdin'错误 -批量修改密码
虚拟机:VMware虚拟机 系统:Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 ...
- ansible批量修改linux服务器密码的playbook
从网上找到批量修改Linux服务器root密码的playbook. 使用方法: 1.输入要修改的inventory组 2.按需要,在playbook中输入要修改的IP.新密码,如下: - hosts: ...
- ansible批量修改用户密码
实现批量修改目标主机多个用户密码: --- - hosts: testchanange passwd gather_facts: false tasks: - name: change you pas ...
- ansible批量修改服务器密码
看了一下网上代码大多数是ansible-playbook实现的,需要写一个脚本,或者手动传递变量进去. 以前用python tcp模块写过客户端主动上报修改密码脚本 今天写一个ansible主控客户端 ...
- ansible-playbook批量修改密码
1. 将服务器ip写到ansible hosts文件中 2. 实现免密登录服务器 将ansible服务器公钥拷贝到目标服务器用户目录下的.ssh/authorized_keys 手动连接一次或者自己写 ...
- ansible批量验证密码
author: headsen chen date: 2018-08-31 20:45:49 综合比较salt-ssh,ansible .sshpass等批量验证100台机器的密码,最好推荐用ans ...
- linux批量添加用户和批量修改密码
一.批量创建用户通过命令newusers可以实现批量的创建用户.这个命令的用法为 newusers file.txt(一个文本文件)文本文件内存放需要批量添加的用户信息但是对格式有要求格式:pw_na ...
- ansible 批量修改root密码
[root@sz_fy_virt_encrypt_33_239 fetch]# cat /opt/passwd.yml - hosts: web vars: path: /home/opsadmin ...
随机推荐
- struts校验
Struts2 校验框架 Struts2 和Struts1同样也提供了校验框架,但在Struts2 已经不再把校验框架做为一个插件,而是已经内置到了Struts2中,而且配置起来更为简单方便,功能也更 ...
- TypeError: format string
先来看一段Python代码: class Negate: def __init__(self, val): self.val = -val def __repr__(self): return str ...
- spring-data-mongodb与mongo shell的对应关系
除了特殊注释外,本文的测试结果均基于 spring-data-mongodb:1.10.6.RELEASE(spring-boot-starter:1.5.6.RELEASE),MongoDB 3.0 ...
- RedLock.Net - 基于Redis分布式锁的开源实现
工作中,经常会遇到分布式环境中资源访问冲突问题,比如商城的库存数量处理,或者某个事件的原子性操作,都需要确保某个时间段内只有一个线程在访问或处理资源. 因此现在网上也有很多的分布式锁的解决方案,有数据 ...
- Gurobi在Python环境里安装与使用(Windows环境)
- OpenGL绘制一个四边形
学习自:https://learnopengl-cn.github.io/01%20Getting%20started/04%20Hello%20Triangle/ OpenGL没有直接绘制四边形的a ...
- Python01(linux基础)
聊一聊计算机 CPU,电源相关,时钟部分(主频),存储器,输入输出系统 计算机记忆装置:存储器分两大类:1.内存Ram(速度快,容量小(相对),断电后内容丢失) 非持久性记忆存储器2.如:硬盘,(速度 ...
- javap反汇编的使用
javap可以查看class文件信息,灵活的运用javap,让你更好的理解class类文件结构信息等 方法/步骤 javap -help查看命令帮助 javap -package Te ...
- Android使用Fiddler模拟弱网络环境测试
原文:https://blog.csdn.net/u010618194/article/details/76652513 1.设置fiddler 顶部Tools-->Connections,把p ...
- bottle模板中的替换
line是模板中一行的内容,类似: {{x}}testinfo{{x+10}} x=10时,模板输出: 10testinfo20 x = 10 splits = re.split(r'\{\{(.*? ...