如何编写条件期望脚本以根据服务器接受不同的密码集?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何编写条件期望脚本以根据服务器接受不同的密码集?相关的知识,希望对你有一定的参考价值。
我的要求是编写一个期望脚本,该期望不同的跳转服务器集需要不同的密码集。问题是我不能一概而论expect 'Password:'
因为这在不同的服务器之间很常见。因此,识别服务器的唯一方法是事先阅读标语并检查特定的字符串并相应地发送密码。
我不知道如何在 我的代码如下spawn ssh
的期望命令中读取横幅] >>
#!/usr/bin/expect set host [lindex $argv 0] set pass1 'xxx' set pass2 'yy' spawn ssh $host expect "Password:*" send "$pass1\r" expect "Password:*" send "$pass2\r" exp_continue
我的要求是编写一个期望脚本,该脚本将针对不同组的跳转服务器使用不同的密码集。问题是我无法概括期望的'Password:',因为它很常见...
答案
似乎很奇怪,当您已经在$ host变量中拥有其标识时,需要根据返回的横幅中的某个字符串来标识服务器。除非指定的主机名解析为不共享公共密码的多台服务器。
假设这种情况,并且每个主机返回一个标语为“欢迎使用servername
以上是关于如何编写条件期望脚本以根据服务器接受不同的密码集?的主要内容,如果未能解决你的问题,请参考以下文章