创建响应密码提示的脚本

创建响应密码提示的脚本

我正在编写一个 shell 脚本来响应提示。例如,当我执行一个文件时,执行的文件将提示用户:

请输入密码:

然后我希望脚本自动为该提示放置一些内容。

我明白“期望”是我可以使用的东西。但是,我使用的是 SSH,并且在我连接的服务器上没有 root 权限,因此我无法在那里安装“expect”,因为我没有权限。

我有两个选择:要么有另一种方法来响应预期之外的提示?或者我可以在 SSH 连接之外的本地计算机上运行脚本,然后在此 SSH 计算机上运行该脚本吗?

我正在尝试输入数字 000 到 999(以及其间的所有数字)来尝试作为密码。所以我正在构建循环来执行此操作(我知道如何执行此操作,我只是不知道如何使其响应提示),所以我不确定是否有超出预期的事情我可以做。我只是想知道是否有办法做到这一点。

答案1

您不需要安装 Expect在服务器上。编写 Expect 脚本而不是expect从 shell 脚本运行。让 Expect 脚本本身生成 SSH 客户端,连接到服务器,然后循环访问数字。

为了节省一些精力,您可以记录一个登录服务器的会话,并使用 尝试一些号码autoexpect。将生成的脚本另存为,例如,wargame.exp然后向其中添加循环。看https://www.tcl.tk/man/tcl8.5/tutorial/Tcl10.html(期望脚本是 Tcl 代码)。

相关内容