记录一下我们工作中常用的登录脚本,网上有很多,完全可以照抄,但是自己记录下平时的积累吧,加深自己的理解吧
一般的自动登录脚本是通过expect脚本来进行实现的。
如果没有安装expect,先进行安装expect
yum install expect
##############################################
#!/usr/bin/expect
set ip "192.168.1.1"
set user "pb"
set passwd "pbisgood"
set port "22"
set timeout 30
spawn ssh -q -l$user -p$port $ip
expect {
"yes/no" {
send "yes\r";
exp_continue;
}
"password:" {
send "$passwd\r"
}
}
expect "~]$ "
send "ssh -q l$user -p 22 $ip\r"
puts "\n--> Connected: $ip, please enjoy yourself!\n"
interact
##############################################
有脚本基础的基本都能看懂spaw前面的。
spawn ssh -q -l$user -p$port $ip
spawn 会启动新的进程,这里表示启动一个新的进程 通过ssh进行连接对应的机器。
expect {
"yes/no" {
send "yes\r";
exp_continue;
}
"password:" {
send "$passwd\r"
}
}
expect命令 可以接收一个字符串参数,也可以接收正则表达式参数。
send将参数发送到进程。
expect 还有一个模式匹配的功能: 即当标准输入一个字符串时,输出相应的输出。所以这里当遇到“yes/no”时会自动将“yes\r"发送给进程。
interact:允许用户交互
interact 后就可以进行操作了