linux shell sshpass servidor remoto cambio de contraseña por lotes

El comando es el siguiente:

# 作用:把192.168.101.91服务器原密码:111111改成Softsec@2020CN
sshpass -p "111111" ssh -o StrictHostKeyChecking=no [email protected] "echo 'Softsec@2020CN' |passwd --stdin root"

Explicación del comando:

La primera parte: sshpass -p "111111" ssh -o StrictHostKeyChecking = no [email protected]

El usuario root del servidor 192.168.101.91 está conectado de forma remota a través del complemento sshpass. El principio de sshpass es similar al complemento de espera, es decir, simula la entrada manual de la contraseña.

Pero hay un problema con sshpass. Cuando el terminal se conecta a un servidor por primera vez, aparecerá un mensaje "¿Está seguro de que desea continuar con la conexión (sí / no)?", Por lo que no se puede conectar, pero agregue el parámetro " -o StrictHostKeyChecking = no ", puede resolver este problema.

Parte 2: echo'Softsec @ 2020CN '| passwd --stdin root

@Este comando significa: modificar la contraseña del usuario root e ingresar la nueva contraseña para completar el contenido anterior "Softsec @ 2020CN" por defecto.

De esta manera, puede modificar con éxito cualquier contraseña del servidor con un comando. Si lo usa por una vez, es más fácil copiar 200 de estos comandos directamente, y luego modificar por lotes los parámetros del comando y ponerlo en el script de shell. para ejecutarlo.

Referencia detallada de sshpass:

"Introducción a sshpass ssh no interactivo de Linux" https://blog.csdn.net/whatday/article/details/103008743

"Introducción a la verificación de contraseña ssh no interactiva sshpass de linux" https://blog.csdn.net/whatday/article/details/108923248

 

 

Supongo que te gusta

Origin blog.csdn.net/whatday/article/details/113921464
Recomendado
Clasificación