ansible批量修改服务器密码

看了一下网上代码大多数是ansible-playbook实现的,需要写一个脚本,或者手动传递变量进去。

以前用python tcp模块写过客户端主动上报修改密码脚本

今天写一个ansible主控客户端修改密码

#!/bin/bash
#展示所有定义的主机
allhost=`egrep -v '^$|^#|^\[' /etc/ansible/hosts |awk -F ' ' '{print $1}'`
now=`date +'%Y-%m-%d %H:%M:%S'`
for ip in $allhost:
do
        echo $ip
done
echo -e "\033[33;5m-----------------------\033[0m"
#选择主机 read -p "请输入以上其中一台主机:" host #生成密码
passwd=`head /dev/urandom | tr -dc A-Za-z0-9 | head -c 15`
#把要修改的主机和密码保存 echo "$now $host $passwd" >> ~/script/passwd.txt echo "主机:$host 密码:$passwd" #python3加密sha512 newpass=`/usr/bin/python3 -c "from passlib.hash import sha512_crypt; import getpass; print(sha512_crypt.using(rounds=5000).hash('$passwd'))"` #执行修改密码 ansible $host -m user -a "name=root password="$newpass" update_password=always"

  

猜你喜欢

转载自www.cnblogs.com/guoyabin/p/12098682.html
今日推荐