用于在cisco路由器中执行命令的Perl脚本

时间:2014-05-30 20:19:29

标签: perl perl-module

我是perl的新手。我试图登录cisco路由器执行一些命令。 我能够使用Net::SSH::Perl登录并执行几个命令。 但是当我尝试切换到配置模式时,脚本失败了。

br-waas#

br-waas#configure

br-waas(config)#

是否有perl cpan模块可以执行此操作?

use  Net::SSH::Perl;

my $host = "XX.XX.XX.XX";
my $user = "XXXX";
my $password = "XXXX";

my $ssh = Net::SSH::Perl->new($host);
$ssh->login($user, $password);

print "check the version of the build \n";
my ($stdout) = $ssh->cmd("show statistics accelerator http object-cache");
print $stdout;

sleep(3);

print "enter the config mode \n";
my($stdout1) = $ssh->cmd("config");
print "$stdout1 \n";

执行configure命令时,脚本失败并显示以下错误。 % Invalid input detected at '^' marker.

3 个答案:

答案 0 :(得分:1)

如果您遇到Net:SSH问题,Net::OpenSSH总是为我做好工作。

如果你有一个启用密码,那么在一天结束时,你将需要一些实现Expect的东西,这总是很麻烦。

答案 1 :(得分:0)

命令" config&#34>手工做这个工作?我假设你会在终端上回复一个问题。

如果这是运行IOS的普通Cisco路由器,则进入配置模式的命令是"配置终端"。

答案 2 :(得分:0)

对我有用的一个库是 NET::Appliance::Session。 它是可靠的,解决了 cisco 路由器/交换机的“通道锁定”问题,并且可以在不使用期望的情况下发送命令(或者至少在内部记不太清楚)