php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /usr/libexec/usermin/ssh/ |
files >> //usr/libexec/usermin/ssh/save_key.cgi |
#!/usr/bin/perl # Update a private key require './ssh-lib.pl'; &ReadParseMime(); &error_setup($text{'ekey_err'}); @keys = &list_ssh_keys(); ($key) = grep { $_->{'private_file'} eq $in{'file'} } @keys; $key || &error($text{'ekey_egone'}); # Validate inputs $in{'private'} =~ /\S/ || &error($text{'ekey_eprivate'}); # Write out the file &open_tempfile(PRIVATE, ">$key->{'private_file'}"); &print_tempfile(PRIVATE, $in{'private'}); &close_tempfile(PRIVATE); # Re-generate public key $cmd = "ssh-keygen -y -f ".quotemeta($key->{'private_file'}); $out = &backquote_command("$cmd </dev/null 2>&1"); if ($out =~ /((\d+)\s+(\d+)\s+(\d+))$/) { $public = $1; } elsif ($out =~ /((\S+)\s+([A-Za-z0-9\/=\+]+))$/) { $public = $1; } else { &error($text{'ekey_epublic'}); } &open_tempfile(PRIVATE, ">$key->{'public_file'}"); &print_tempfile(PRIVATE, $public); &close_tempfile(PRIVATE); &redirect("list_keys.cgi");y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`