免交互式批量更改linux密码

shell脚本方式,适合单用户,无明文
#! /bin/bash
set ip [lindex $argv 1]
set username "test"
set password "12345678"
set pass2 "11223344"

set timeout -1

spawn ssh $username@$ip

expect "*word" { send "$password\n" }
expect ".*\]" { send "sudo passwd\n" }
sleep 1
expect "*est:" { send "$password\n" }
sleep 1
expect "*New password:" { send "$pass2\n" }
expect "*password:" { send "$pass2\n" }
expect "*password:" { send "$pass2\n" }
expect ".*\]" {send "exit\n" }
expect eof






ansible剧本方式,适合多用户,无明文
--- - hosts: all tasks: - name: change password user: name={{ item.name }} password={{ item.chpass | password_hash('sha512') }} update_password=always with_items: - { name: 'root', chpass: '12345678' }

 

posted @ 2022-06-08 16:53  头发重要  阅读(90)  评论(0)    收藏  举报