Posted to tcl by urthmover at Mon Aug 08 14:16:58 GMT 2011view raw

  1. #!/usr/bin/expect
  2.  
  3. set user root
  4. set oldpassword abcdefg
  5. set newpassword 1234567
  6. set cmd "passwd root"
  7.  
  8. cat hosts.lst
  9. while read line; do
  10. spawn ssh -n $user@$line
  11.  
  12. expect "*?ssword:*"
  13. send -- "$oldpassword\r"
  14.  
  15. send -- "$cmd\r"
  16. expect "*?ssword:*"
  17. send -- "$newpassword\r"
  18. expect "*?ssword:*"
  19. send -- "$newpassword\r"
  20.  
  21. send -- "exit\r"
  22. send -- "\r"
  23.  
  24. expect eof
  25. done <hosts.lst
  26.  
  27. exit