Bonjour,

En dépit de mes innombrables recherches sur l'écriture d'un script Expect avec SSH et Passwd, je n'ai toujours pas trouvé de solution à mon soucis.
Je souhaiterais faire une simple connexion ssh et ensuite modifer le mot de passe d'un user

Voici mon code:

#!/usr/bin/expect -f

set username [lindex $argv 0]
set servername [lindex $argv 1]
set password [lindex $argv 2]
set usertomodify bill
set NewPassword [lindex $argv 4]
set timeout -1
spawn ssh -l [lindex $argv 0] [lindex $argv 1] [lindex $argv 2]
expect "Password:"
send -- "$password\r"
send -- "/usr/bin/passwd $usertomodify\r"
expect "New Password:"
send -- "$NewPassword\r"
expect "Re-enter new Password:"
send "$NewPassword\r"
expect "successfully"
send "exit\r"
expect eof


./sshpasswd root adatst-1.cie.etat.Lu password
spawn ssh -l root adatst-1.cie.etat.Lu password
Password:
ksh:password: not found
send: spawn id exp6 not open
while executing
"send -- "$NewPassword\r""
(file "./sshpasswd" line 14)

Merci d'avance pour votre aide