Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。
需要安装:
yum install -y expect tcl tclx tcl-devel (tcl* 时expect的解释器 插件)
通过expect解决ssh交互问题:
vim ssh.exp
#!/usr/bin/expect
spawn ssh root@192.168.0.111
#spawn 后面跟的时要产生交互对的命令
#spawn expect 内部命令,启动一个shell程序。
expect {
#expect { } 这里面就是交互的东西
"yes/no" { send "yes\r";exp_continue }
#yes/no"是出现的交互命令时把他截取出来 send 发送 "yes/r" 说完了 /r是回车这一条交互结束
#;exp_continue 这个是说明这条交互没有 就继续不用等 下面还有交互 下面没有交互就不用写
"password:" { send "666666\r" };
}
interact
#interact 允许用户交互
执行:
[root@lwq ~] expect ssh.exp