Я пытаюсь выйти из подсказки ввода пароля во время команды scp в сценарии perl через определенное время для сервера, у которого нет открытого ключа ssh. В этом скрипте я использую обратную галочку для копирования файла с одного сервера на другой, но скрипт зависает на запросе пароля и не завершается даже после назначенного времени ожидания.
my $test = '';
my $exit_value = '';
eval {
my $timeout = 2;
local $SIG{ALRM} = sub { die "timeout\n" };
alarm($timeout);
$test = `scp foo.txt bar@baz:/`;
$exit_value = $? >> 8;
alarm(0);
}
if ($@) {
print "Time out";
}
Есть ли способ справиться с описанным выше сценарием?