diff --git a/show_fingerprints.pl b/show_fingerprints.pl index 9e3ffeddc4bd4da6994ea3af5e2516e9dc43071d..766080dd02dcd1ac2340e3cb6233b0a2ac493e60 100755 --- a/show_fingerprints.pl +++ b/show_fingerprints.pl @@ -16,7 +16,32 @@ my ($version, $has_E)= get_ssh_version(); my $hash_algorithm= 'MD5'; my @files= <*.pub>; -push @files, @ARGV if (@ARGV); + +while (my $arg= shift (@ARGV)) +{ + if ($arg eq '--') {} + elsif ($arg =~ m#^--(.+)#) + { + } + elsif ($arg =~ m#^-(.+)#) + { + print ">>> arg=[$arg] 1=[$1]\n"; + my @opts= split ('', $1); + foreach my $opt (@opts) + { + if ($opt eq 'E') + { + $has_E= 1; + $hash_algorithm= shift (@ARGV); + print "NOTE: hash_algorithm=[$hash_algorithm]\n"; + } + } + } + else + { + push (@files, $arg); + } +} # print "files: ", join (' ', @files), "\n"; push (@files, <authorized_keys*>); @@ -27,6 +52,7 @@ foreach my $file (@files) my @cmd= qw(ssh-keygen -l); push (@cmd, '-E', $hash_algorithm) if ($has_E); push (@cmd, '-f', $file); + # print "cmd: [", join (' ', @cmd), "\n"; my $res= `@cmd`; my @lines= split ("\n", $res);