我是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.
答案 0 :(得分:1)
如果您遇到Net:SSH问题,Net::OpenSSH总是为我做好工作。
如果你有一个启用密码,那么在一天结束时,你将需要一些实现Expect的东西,这总是很麻烦。
答案 1 :(得分:0)
命令" config&#34>手工做这个工作?我假设你会在终端上回复一个问题。
如果这是运行IOS的普通Cisco路由器,则进入配置模式的命令是"配置终端"。
答案 2 :(得分:0)
对我有用的一个库是 NET::Appliance::Session。 它是可靠的,解决了 cisco 路由器/交换机的“通道锁定”问题,并且可以在不使用期望的情况下发送命令(或者至少在内部记不太清楚)