foreach my $hostname(@_){ 163 # print $hostname,"\n"; 164 165 my $scp_exp = new Expect; 166 # Run the copy command. 167 $scp_exp->spawn("ssh-copy-id $user\@$hostname") or die "Cannot spawn ssh-copy-id: $!\n"; 168 $scp_exp->log_file("./autossh-copy-id.log"); 169 $scp_exp->expect(2, 170 [qr/\(yes\/no\)\?\s*$/ => sub { $scp_exp->send("yes\n"); exp_continue } ], 171 [qr/assword:\s*$/ => sub { $scp_exp->send("$pass\n"); exp_continue; } ], 172 #[timeou => sub { die "Permission denied.\n"; } ], '-re','$'); 173 #[qr/Permission denied, please try again\s*$/ => sub { exp_break; } ], 174 #[EOF => sub {my $exph = shift; my $error = "Error: Could not login, EOF!"; &logerror($error, $hostname); exp_break; } ], 175 #[timeout => sub {$exph = shift; $error = "Error: Could not login, timeout!"; &logerror($error, $hostname); exp_break; }],'-re', '$'); 176 ); 177 #$scp_exp->send("\cC"); 178 # $scp_exp->interact(); 179 $scp_exp->hard_close(); 180 }