Changeset 2047 in ProjectBuilder for devel/pb/bin
- Timestamp:
- Feb 20, 2016, 1:05:18 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb
r2046 r2047 2807 2807 $pbforce = 0 if (not defined $pbforce); 2808 2808 $snapme = 0 if (not defined $snapme); 2809 $pbstep = 3 if (not defined $pbstep); 2809 2810 2810 2811 pb_log(2,"DEBUG: pb_script2v($vtype,$pbstep,$pbforce,$snapme)\n"); … … 4486 4487 # Check whether ecdsa is accepted by the remote host 4487 4488 my $ecdsa = 0; 4489 my $dsa = 0; 4488 4490 open(SCAN,"ssh-keyscan -p $nport -t ecdsa $target 2>/dev/null |") || pb_log(0,"Unable to check ECDSA support for $target"); 4489 4491 while(<SCAN>) { … … 4492 4494 close(SCAN); 4493 4495 4494 # We have specific keys by default 4495 $keyfile = "$ENV{'HOME'}/.ssh/pb_ecdsa"; 4496 if (!(-e $keyfile) && ($create eq 1)) { 4497 my $res = pb_system("ssh-keygen -q -b 1024 -N '' -f $keyfile -t ecdsa","Generating ECDSA SSH keys for pb"); 4498 $keyfile = "$ENV{'HOME'}/.ssh/pb_dsa"; 4499 if (($res != 0) && !(-e $keyfile) && ($create eq 1)) { 4496 open(SCAN,"ssh-keyscan -p $nport -t dsa $target 2>/dev/null |") || pb_log(0,"Unable to check DSA support for $target"); 4497 while(<SCAN>) { 4498 $ecdsa = 1 if ($_ =~ /ecdsa-/); 4499 } 4500 close(SCAN); 4501 4502 # We have specific keys by default - create them if needed 4503 if (!(-e "$ENV{'HOME'}/.ssh/pb_ecdsa") && ($create eq 1)) { 4504 my $res = pb_system("ssh-keygen -q -b 1024 -N '' -f $ENV{'HOME'}/.ssh/pb_ecdsa -t ecdsa","Generating ECDSA SSH keys for pb"); 4505 if (($res != 0) && !(-e "$ENV{'HOME'}/.ssh/pb_dsa") && ($create eq 1)) { 4500 4506 # ecdsa may not be supported if old ssh 4501 pb_system("ssh-keygen -q -b 1024 -N '' -f $keyfile -t dsa","Generating DSA SSH keys for pb"); 4502 } 4503 } 4504 4505 $keyfile = "$ENV{'HOME'}/.ssh/id_rsa" if (-s "$ENV{'HOME'}/.ssh/id_rsa"); 4506 $keyfile = "$ENV{'HOME'}/.ssh/id_dsa" if (-s "$ENV{'HOME'}/.ssh/id_dsa"); 4507 $keyfile = "$ENV{'HOME'}/.ssh/pb_dsa" if (-s "$ENV{'HOME'}/.ssh/pb_dsa"); 4508 $keyfile = "$ENV{'HOME'}/.ssh/pb_ecdsa" if ((-s "$ENV{'HOME'}/.ssh/pb_ecdsa") && ($ecdsa != 0)); 4507 pb_system("ssh-keygen -q -b 1024 -N '' -f $ENV{'HOME'}/.ssh/pb_dsa -t dsa","Generating DSA SSH keys for pb"); 4508 } 4509 } 4510 4511 #$keyfile = "$ENV{'HOME'}/.ssh/id_rsa" if (-s "$ENV{'HOME'}/.ssh/id_rsa"); 4512 # We still favoud DSA and fall back to ECDSA if not available 4513 if ($dsa != 0) { 4514 $keyfile = "$ENV{'HOME'}/.ssh/id_dsa" if (-s "$ENV{'HOME'}/.ssh/id_dsa") ; 4515 # And we favour a specific key over a generic one 4516 $keyfile = "$ENV{'HOME'}/.ssh/pb_dsa" if (-s "$ENV{'HOME'}/.ssh/pb_dsa"); 4517 } else { 4518 $keyfile = "$ENV{'HOME'}/.ssh/id_ecdsa" if ((-s "$ENV{'HOME'}/.ssh/id_ecdsa") && ($ecdsa != 0)); 4519 # And we favour a specific key over a generic one 4520 $keyfile = "$ENV{'HOME'}/.ssh/pb_ecdsa" if ((-s "$ENV{'HOME'}/.ssh/pb_ecdsa") && ($ecdsa != 0)); 4521 } 4509 4522 die "Unable to find your public ssh key under $ENV{'HOME'}/.ssh" if (not defined $keyfile); 4510 4523 return($keyfile);
Note:
See TracChangeset
for help on using the changeset viewer.