2011-06-10 76 views
1

我想通过运行./script检查北电路由器:发送SSH命令与脚本

#!/bin/ksh 
print "IP:" 
read ip; 
ping ${ip}; 
ssh -l default ${ip} "sho mod; en; sho int; sho node-e; sho node-a"; 

我可以 SSH -l [用户] [IP] normaly SSH协议。

但不是 ssh -l [user] [ip]'[cmd1],[cmd2]'它会自动显示“Conection to [ip] closed”。

+0

如果将命令离开最后?那么ssh成功完成了吗? – 2011-06-10 15:26:25

+0

当您运行脚本时,您如何发送密码?或者你使用'$ HOME/.ssh/authorized_keys'(或类似的)。祝你好运! – shellter 2011-06-10 16:37:53

回答

1

有一个叫做expect的应用程序可以为你做这种交互/终端模拟。否则,你可以使用fabric甚至直接使用python编写脚本paramiko

以这种方式运行命令当然会更好,但是如果您的路由器不以这种方式接受命令,则需要模拟标准连接。

+0

这里的问题很可能是你的路由器,因为我尝试了你的命令。我会建议去北电的网站,并在那里询问有关具体问题。 – Nitrodist 2011-06-15 03:17:49