merhaba

elimde aşağıdaki gibi bir perl script kod düzeneği var. bu kod düzeneğinde cmd komut satırında çalışarak belirli bir txt dosyasındaki ip ye giderek yine belirli bir txt dosyasında bulunan bir cisco router komutunun işlenerek sonucunun txt olarak karşıma çıkarmaktadır.

Yalnız bu kod düzeneği Telnet tanımlı routerlarda işlemektedir. SSH2 tanımı olan routerlara erişim sağlanamıyor bu kodla. bana bu kod gibi SSH2 tanımlı routerlara erişim sağlayabileceğim perl script gerekmekte olup bilgi ve yardımlarınızı rica ederim

Code:
use warnings;
use strict;
use Net::Telnet::Cisco;
use Net::Ping;
my $satir;
my $cmd;
my @sutun;
my @sutun2;
my @output;
my $ip;
my $hostname;
my $username="username";
my $password="password";
my $password3="pass";
my $password2="";
my $telnet_timeout=30;
my $timeout_cmd=60;
my $timeout=90;
my $ayrac="------------------------------------------\n\n";
my $enter="\n";
my ($session, $session2);
open (OUTFILE, ">>zpassnotok.txt");
if (open (INFILE, "SwitchListesi.txt")){
while (<INFILE>){
$satir=$_;
chop($satir) if ($satir =~ /\n/);
@sutun=split(/\s+/, $satir);
$ip = $sutun[0];
if($session = Net::Telnet::Cisco->new(
Host => $ip,
Timeout => $timeout,
Errmode => sub { my $errmsg = shift; 
warn "Error2: $errmsg $ip"}
)
){
if ($session->login($username, $password)) {
$session->enable("password");
sendCmd();
}
else { 
print OUTFILE "$ip	--> Pasword_Not OK\n"; 
}
}	
}
close (INFILE);
} else {
print "ROUTER LISTE DOSYASI ACILAMIYOR!\n";
}
close(OUTFILE);
sub sendCmd {
open (SONUC, ">>ErrDisableKomutOutput.txt");
print SONUC $ip;
print SONUC $enter;
close (SONUC);
if (open (INPUT, "ErrDisableKomut.txt")){
while (<INPUT>){
open (SONUC, ">>ErrDisableKomutOutput.txt");
$cmd=$_;
chop($cmd) if ($cmd =~ /\n/);
@output = $session->cmd(String => "$cmd", Timeout => $timeout_cmd);
print SONUC @output;
print SONUC $enter;            
}
print SONUC $ayrac;
close (SONUC);
close(INPUT);
} else {
print "INPUT DOSYASI ACILMIYOR!\n";
} 
}