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
Partager