esperar modificar la contraseña de root por lotes

A veces, en función de la rectificación de seguridad, necesitamos modificar la contraseña raíz del servidor en lotes. En este momento, podemos usar la opción de esperar para lograr la modificación por lotes.

el código se muestra a continuación:

#!/bin/bash
LANG=en
user="lv"

for line in `cat ip.list`;do

ip=`echo $line |awk -F "," '{print $1}'`
common_passwd=`echo $line |awk -F "," '{print $2}'`
new_rootpasswd=`echo $line |awk -F "," '{print $3}'` 

/usr/bin/expect << EOF
set time 30
spawn ssh $user@$ip

expect {
"yes/no" { send "yes\r";exp_continue}
"password:" { send "$common_passwd\r"}
}

expect "]*"
send "sudo passwd root\r"

expect {
"password for lv:" { send "$common_passwd\r";exp_continue}
"New password:" {send "$new_rootpasswd\r";exp_continue}
"Retype new password:" {send "$new_rootpasswd\r"}
}

expect "]*"
send "exit\r"
EOF

done

El contenido de texto de ip.list es el siguiente:

192.168.245.129,zhou2,Lg2=0.301!@#,
192.168.245.130,zhou3,e=2.71828!@#,

脚本 执行 结果 如下 :
spawn ssh [email protected]
[email protected]'s contraseña:
Último inicio de sesión: dom 1 de noviembre 13:29:16 2020 de zhou1
[lv @ zhou2 ~] $ sudo passwd root
[sudo] contraseña para lv:
Cambio de contraseña para el usuario root.
Nueva contraseña:
Vuelva a escribir la nueva contraseña:
passwd: todos los tokens de autenticación se actualizaron correctamente.
[lv @ zhou2 ~] $ spawn ssh [email protected]
[email protected]'s contraseña:
Último inicio de sesión: dom 1 de noviembre 13:29:35 2020
[lv @ zhou3 ~] $ sudo passwd root
[sudo] contraseña para lv:
Cambio de contraseña para el usuario root.
Nueva contraseña:
Vuelva a escribir la nueva contraseña:
passwd: todos los tokens de autenticación se actualizaron correctamente.

Supongo que te gusta

Origin blog.51cto.com/12606610/2545902
Recomendado
Clasificación