ssh 登陸
#!/usr/bin/expect
set timeout 20
if { [llength $argv] < 3} {
puts "Usage:"
puts "remote_host password cmd"
exit 1
}
set remote_host [lindex $argv 0]
set password [lindex $argv 1]
set cmd [lindex $argv 2]
set passwderror 0
spawn ssh $remote_host
expect {
"*assword:*" {
if { $passwderror == 1 } {
puts "password is error"
exit 2
}
set timeout 1000
set passwderror 1
send "$password\r"
exp_continue
}
"*es/no)?*" {
send "yes\r"
exp_continue
}
timeout {
puts "connect is timeout"
exit 3
}
}
expect "$*" { send "$cmd\r" }
send "exit\r"
expect eof
scp
#!/usr/bin/expect
set timeout 20
if { [llength $argv] < 3} {
puts "Usage:"
puts "$argv0 local_file remote_path password"
exit 1
}
set local_file [lindex $argv 0]
set remote_path [lindex $argv 1]
set password [lindex $argv 2]
set passwderror 0
spawn scp $local_file $remote_path
expect {
"*assword:*" {
if { $passwderror == 1 } {
puts "password is error"
exit 2
}
set timeout 1000
set passwderror 1
send "$password\r"
exp_continue
}
"*es/no)?*" {
send "yes\r"
exp_continue
}
timeout {
puts "connect is timeout"
exit 3
}
}