User Tools

Site Tools


remote_password_change

Change User password remotely

#!/usr/bin/expect
# usage: runcmd <command> <password>
#
# 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"
remote_password_change.txt · Last modified: 2020/08/10 02:35 (external edit)