如何编写expect脚本登录并在远程盒子上运行命令

时间:2014-09-15 11:06:56

标签: linux expect

我想从Windows执行远程linux机器上的命令,也想收集执行命令的结果。基本上我必须通过2个盒来执行该命令这里是流程。 登录到一个框 ssh到另一个盒子 运行命令 在本地收集命令输出(在文件中)

我试过了

F:\xyz>plink xyz@a1.b1.com -i F:\x\y\PRIVATEKEY.ppk -pw xyz 
 ssh -f root@166.1.8.1 yum upgrade Cyberc

但这是要求输入密码。我可以通过将id_rsa.pub值添加到authorized_keys来实现,但我们没有权限这样做。所以我不想写EXPECT脚本来传递user / pass和命令来完成我的工作。 任何关于EXPECT脚本的帮助都将非常感激。

1 个答案:

答案 0 :(得分:0)

除非远程linux主机上的程序是交互式的(即它提示用户必须响应),否则您可能不需要使用expect - 您只需使用plink从Windows计算机连接到远程Linux主机并运行该命令。您可以在plink命令中指定用于通过远程主机进行身份验证的用户名和密码。有关详细信息,请参阅以下链接:

http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html
http://stackoverflow.com/questions/12844944/login-syntax-for-plink-using-ip-username-and-password