Files
scripts-conlxsyslog03/rancid/pwhost.pl
conetadm 5718e70f15 init
2024-11-14 21:11:06 +01:00

61 lines
2.3 KiB
Perl
Executable File

#!/usr/bin/perl -w
use strict;
use IO::Prompter;
my $ok;
my ($os, $host, $priv);
my ($cmd, $cmc, $style);
my ($admin,$adminpw);
my ($user,$userpw,$userhash);
chdir ("/home/rancid/var/rancid/network/configs");
do {
$host = prompt("\nHostname :");
$os = prompt("\nGerätetyp :", -guarantee => [ 'nxos', 'ios', 'asa' ] );
$priv = prompt("\nPrv-Lvl :", -guarantee => [ '0', '15' ] );
$admin = prompt("\nAdmin :");
$adminpw = prompt('Admin Passwort :', -echo => '*');
$style = prompt("\nUser Passwort in Klartext? (Bei nein ein Hash):", -yn1);
$user = prompt("\nUser :");
if ($style eq 'y') {
$userpw = prompt('User Passwort :', -echo => '*');
}
if ($style eq 'n') {
$userhash = prompt('User Hash :');
}
$ok = prompt("\nEingabe korrekt :", -yn1);
} while ($ok eq 'n');
print "\n";
my @files=glob("*");
foreach my $file (@files) {
$cmd="clogin -u $admin -p $adminpw -c";
if ($file eq $host) {
if ( $os eq 'nxos' ) {
$cmc='"conf t\nusername ' . "$user" . ' password 0 ' . "$userpw" . ' role network-admin\n\nend\ncopy run start\n\n"' if($style eq 'y');
$cmc='"conf t\nusername ' . "$user" . ' password 5 ' . "$userhash" . ' role network-admin\n\nend\ncopy run start\n\n"' if($style eq 'n');
print "$file\n";
`$cmd $cmc $file`; #print "$cmd $cmc $file\n";
}
if ( $os eq 'ios' ) {
$cmc='"conf t\nusername ' . "$user" . " privilege " . "$priv" . " view root password 0 " . "$userpw" . '\n\nend\ncopy run start\n\n"' if($style eq 'y');
$cmc='"conf t\nusername ' . "$user" . " privilege " . "$priv" . " view root password 7 " . "$userhash" . '\n\nend\ncopy run start\n\n"' if($style eq 'n');
print "$file\n";
`$cmd $cmc $file`; #print "$cmd $cmc $file\n";
}
if ( $os eq 'asa' ) {
$cmc='"conf t\nusername ' . "$user" . ' password ' . "$userpw" . " privilege " . "$priv" . '\n\nend\ncopy run start\n\n"' if ($style eq 'y');
$cmc='"conf t\nusername ' . "$user" . ' password ' . "$userhash" . " encrypted privilege " . "$priv" . '\n\nend\ncopy run start\n\n"' if ($style eq 'n');
print "$file\n";
`$cmd $cmc $file`; #print "$cmd $cmc $file\n";
}
}
}