您的位置:首页 > 其它

expect实现ssh自动登录

2013-09-11 16:34 465 查看
expect实现ssh的自动登录服务器脚本。
使用示例 :
>./login.exp
1
--------------------------------------------------------------------
login.exp代码如下
#! /usr/bin/expect -f
set timeout 30
expect_user -re "(.*)\n"
set hostIP $expect_out(1,string)
switch $hostIP {
1 {set hostLongIP 172.168.1.101; set user user1}
2 {set hostLongIP 172.168.1.102; set user user2}
3 {set hostLongIP 172.168.1.103; set user user3}
default {puts "ERROR!!";exit}
}
send_user "ooooooooooooooooo $hostLongIP ooooooooooooooooooo\n"
spawn ssh -l $user $hostLongIP
expect "password:"
send "password\n"
interact


另一个版本
使用示例:
>./login.exp 1
#! /usr/bin/expect -f
set timeout 30
set hostIP [lindex $argv 0]
switch $hostIP {
1 {set hostLongIP 172.168.1.101; set user user1}
2 {set hostLongIP 172.168.1.102; set user user2}
3 {set hostLongIP 172.168.1.103; set user user3}
default {puts "ERROR!!";exit}
}
send_user "ooooooooooooooooo $hostLongIP ooooooooooooooooooo\n"
spawn ssh -l $user $hostLongIP
expect "password:"
send "password\n"
interact


expect学习资料
http://wiki.tcl.tk/expect
http://linux.die.net/man/1/expect
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  expect 自动 登录