==== Change User password remotely ==== #!/usr/bin/expect # usage: runcmd # # NB: be sure to surround the command with double quotes # if the command string is more than 1 word # set timeout 30 set fid [open /root/utilz/scripts/hosts r] set contents [read -nonewline $fid] close $fid set cmd [lindex $argv 0] set password [lindex $argv 1] set newpass [lindex $argv 2] foreach host [split $contents "\n"] { spawn ssh -l root $host expect { "assword:" { send -- "$password\r" } "you sure you want to continue connecting" { send -- "yes\r" expect "assword:" send -- "$password\r" } } expect "#" send -- "$cmd\r" expect "assword:" send "$newpass\r" expect "assword:" send "$newpass\r" expect "#" send -- "exit\r"