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 ...
随机推荐
- C语法简单测试
1.未初始化的枚举变量 /* uninitialized-enum.c */ #include <stdio.h> , black, blue}; int main(void) { enu ...
- NVCC src/caffe/util/math_functions.cu
解决办法:由于安装的cuda版本是7.5,当前下载的caffe版本比较新,需要修改里面的makefile文件,屏蔽下面的代码,cuda<8.0 In the Makefile.example, ...
- Python机器学习(基础篇---监督学习(朴素贝叶斯))
朴素贝叶斯 朴素贝叶斯分类器的构造基础是贝叶斯理论.采用概率模型来表述,定义x=<x1,x2,...,xn>为某一n维特征向量,y∈{c1,c2,...ck}为该特征向量x所有k种可能的类 ...
- Qt的子窗口和父窗口阻塞问题
在图形界面中,软件设计者通常需要将活跃窗口限制为一个.在某个窗口活跃时,它的父窗口被它挡住或者挡住一部分,这时候用鼠标去点击父窗口是没有作用的.问题的关键在于将子窗口设置模态: void MainWi ...
- 【转】Android-Input 触摸设备
https://source.android.com/devices/input/touch-devices 触摸设备 Android 支持各种触摸屏和触摸板,包括基于触控笔的数字化板. 触摸屏是与显 ...
- mysql 存储 2
mysql> create database db1; mysql> use db1; mysql> create table PLAYERS as select * from TE ...
- wpf binging (六)多绑定
场景 比如我用四个textbox 需要每个控件都输入正确的数据以后 下方的 button才变成可用状态 需要把四个textbox的值转换成 true或者false 效果
- 网易2019校招内推编程题-瞌睡-C++实现
[编程题] 瞌睡 时间限制:1秒 空间限制:262144K 小易觉得高数课太无聊了,决定睡觉.不过他对课上的一些内容挺感兴趣,所以希望你在老师讲到有趣的部分的时候叫醒他一下.你知道了小易对一堂课每分钟 ...
- Spherical CNNs代码配置过程
ICLR18 best paper: Spherical CNNs 论文链接:https://arxiv.org/abs/1801.10130 GITHUB地址:https://github.com/ ...
- JavaSE-2018.12.20更新
JDK:Java Development Kit(java开发工具包,是提供给java开发人员使用的,包含了开发工具(编译工具javac.exe和打包工具jar.exe等)+JRE) JRE:Java ...