您的位置:首页 > 运维架构 > Linux

使用expect工具 用ssh命令自动登录远程主机

2017-09-20 09:23 966 查看
#!/usr/expect/bin/expect
#
# 登录远程机器
# 参数:
#   ip: 远程主机IP
#   user: 远程主机用户
#   password: 远程主机用户密码
#

# check parameter numbers
if {$argc < 3} {
puts " Error : Parameter is error."
puts " Usage : ./ssh.exp host_ip host_user password"
puts "Example: ./ssh.exp 192.168.1.233 uxdb 123456"
exit 1
}

set host_ip [lindex $argv 0]
set host_user [lindex $argv 1]
set password [lindex $argv 2]

spawn ssh $host_user@$host_ip

expect {
"*(yes/no)?" {
send "yes\r"
exp_continue
}
"*password:" {
send "$password\r"
}
}
expect {
"Host key verification failed." {
puts "verify failed!"
exit 1
}
"Permission denied*" {
puts "password is error!"
exit 1
}
"Last login*" {
puts "OK"
}
}
interact
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  expect ssh Linux 自动 登录