GNU/Linux >> Tutoriels Linux >  >> Linux

Script pour changer le mot de passe sur les serveurs Linux via ssh

La ou les machines distantes n'ont pas besoin d'être installées. Vous pouvez installer expect sur un poste de travail local ou une machine virtuelle (virtualbox) ou n'importe quelle boîte * nix, et écrire un wrapper qui appelle ce script .ex (attend) (il peut y avoir de petits changements d'une distribution à l'autre, ceci testé sur CentOS 5/6 ):

#!/usr/bin/expect -f
# wrapper to make passwd(1) be non-interactive
# username is passed as 1st arg, passwd as 2nd

set username [lindex $argv 0]
set password [lindex $argv 1]
set serverid [lindex $argv 2]
set newpassword [lindex $argv 3]

spawn ssh $serverid passwd
expect "assword:"
send "$password\r"
expect "UNIX password:"
send "$password\r"
expect "password:"
send "$newpassword\r"
expect "password:"
send "$newpassword\r"
expect eof

Vous n'avez pas besoin d'un accès root pour utiliser passwd .

Cela devrait très bien fonctionner.

passwd <<EOF
old password
new password
new password
EOF

Linux
  1. Comment changer le mot de passe sous Linux (commande passwd)

  2. Comment changer le port SSH sous Linux

  3. Automatisation du mot de passe SSH sous Linux avec sshpass

  4. Utilisez Expect dans un script Bash pour fournir un mot de passe à une commande SSH

  5. Mot de passe panique sous Linux

Comment changer le port SSH sous Linux

Comment changer ou définir un mot de passe utilisateur sous Linux

Comment transmettre un mot de passe à la commande SSH sous Linux

Commande Linux passwd - Modifier le mot de passe utilisateur

Comment changer le mot de passe root sous Linux

Comment changer le mot de passe root dans Kali Linux