使用pexpect报错could not shell prompt(received: '', excepted: '\\[PEXPECT\\][\\$\\#]')

某天,遇到一个运维发来图片,说使用我们的工具一直报错密码不对。。。

脚本使用pexpect模拟终端进行交互密码登录,报错:

could not shell prompy(received: '', excepted: '\\[PEXPECT\\][\\$\\#]')

发问题截图一看,傻眼,这个错之前从来没有遇到过。。。

说了好几种可能的原因都不对,在自己的环境也复现不出来,网上也搜不出来合适的。。。

各种求助同事,各种百度,无果。。。


后来,幸好他的环境可以远程共享,一步步pdb调试,打印出登录失败的命令,才发现

(cmd = ssh ip2 ...)   这个ip2怎么和他给我说的ip1 不一样 。ssh ip1, 登录成功,ssh ip2,hang住。。。

问题原因找到了:

多网络环境,ip1 和 ip2之间不能ping通,所以一直登录超时。

ip1和ip2存在很大的网络时延和丢包,也会出现类似情况。

你可能感兴趣的:(使用pexpect报错could not shell prompt(received: '', excepted: '\\[PEXPECT\\][\\$\\#]'))