mirror of
https://github.com/rancher/os.git
synced 2025-06-21 20:47:04 +00:00
65 lines
1.5 KiB
Plaintext
Executable File
65 lines
1.5 KiB
Plaintext
Executable File
#!/usr/bin/expect -f
|
|
|
|
# set Variables
|
|
# /home/sven/.docker/machine/machines/sven-test/id_rsa
|
|
set sshkey [lrange $argv 0 0]
|
|
# 718feb0e-1517-4f92-a6fa-2ee089cf12e4@sos.ewr1.packet.net
|
|
set sshurl [lrange $argv 1 1]
|
|
|
|
set username [lrange $argv 2 2]
|
|
set password [lrange $argv 3 3]
|
|
set command ""
|
|
append command [lrange $argv 4 end]
|
|
|
|
|
|
set timeout -1
|
|
|
|
proc runcmd { username password cmd } {
|
|
send_user "<< username: $username"
|
|
send_user "<< password: $password"
|
|
send_user "<< cmd: $cmd"
|
|
|
|
set done 0;
|
|
while {$done == 0} {
|
|
expect {
|
|
"*?login:" {
|
|
send -- "$username\r"
|
|
}
|
|
"*?assword:" {
|
|
send -- "$password\r"
|
|
#send -- "\r"
|
|
}
|
|
"*?:~#" {
|
|
send -- "$cmd\r"
|
|
set done 1
|
|
}
|
|
"*?Reached target Shutdown." {
|
|
set done 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
spawn ssh -F /dev/null -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none -i $sshkey $sshurl
|
|
match_max 100000
|
|
send -- "\r"
|
|
|
|
set running [ runcmd $username $password $command ]
|
|
|
|
expect {
|
|
"*? (yes/no)?" {
|
|
send -- "no\r"
|
|
expect "# "
|
|
}
|
|
"# " {
|
|
}
|
|
"*?Restarting system" {
|
|
}
|
|
"*?kexec_core: Starting new kernel" {
|
|
}
|
|
}
|
|
|
|
send_user "<< DONE expect"
|
|
send_user "<<"
|