1
에 나는 이상한 문제가 있습니다 나는이의 하단에 도착하려면 :펄 SSH는 장치
나는 ssh를하고 몇 가지 명령을 실행하는 데 필요한 1000 개 이상의 CISCO 장치의 목록이있다. 그래서 Perl에서 다음 코드를 가지고 있습니다.
my $scon = Net::SSH::Perl->new("192.168.110.45");
$scon->login($username,$password);
my ($stdout,$stderr,$exit)= $scon->cmd('show run');
print "\n$stdout\n";
그리고 위의 코드는 필자에게 필요한 출력을 보여줍니다.
그러나 루프를 만들고 루프 내에서 각 장치를 ssh하려고하면 $ stdout이 비어 있습니다. 다음은
이 작동하지 않는 코드 :my @allhosts = `cat hosts_ip.txt | cut -d',' -f2`;
foreach my $ip (@allhosts) {
my $scon = Net::SSH::Perl->new($ip);
$scon->login($username,$password);
my ($stdout,$stderr,$exit)= $scon->cmd('show run');
print "$stdout\n";
}
출력을 위에서 단지 비어 - 아무 것도 반환하지 않습니다.
내가 잘못하고있는 아이디어가 있습니까?
chomp @allhosts – frankc
[Net :: OpenSSH :: Parallel] (https://metacpan.org/module/Net::OpenSSH::Parallel)을 시도해야합니다. – salva
에 대한 호출에서'debug => true'를 추가하십시오. 새로운? – charlesbridge