Perl SCP ОШИБКА (просит продолжить?) - PullRequest
2 голосов
/ 21 февраля 2011

Вот что я делаю

my $username = "user";
my $password= "pass";
my $host="xxx.xxx.xxx.xxx";

my $scpe =  Net::SCP::Expect->new(user => $username,
                                    password => $password,
                                    preserve => 1,
                                   recursive => 1,
                                  verbose=>1,
                  auto_yes=>1);

$scpe->scp("$file","$host:./drop/drop.txt");

Когда я запускаю этот код, нет ошибки, я использую Unix Box, $file находится в моем каталоге и имеет полные права, также я изменилкаталог для temp в окне unix, но когда кто-то еще запускает этот код, он получает

Проблема с выполнением scp: Вы уверены, что хотите продолжить подключение (да / нет)?в строке scp.pl 242

Я очень озадачен, почему это происходит, поскольку я не получил эту ошибку

1 Ответ

0 голосов
/ 21 февраля 2011

Краткий ответ:

Поднимите значение timeout_auto:

my $scpe =  Net::SCP::Expect->new(user => $username,
                                    password => $password,
                                    preserve => 1,
                                   recursive => 1,
                                  verbose=>1,
                                  timeout_auto=>10, #For example - 5 should probably be plenty
                  auto_yes=>1);

Длинный ответ.

Проблема

при выполнении scp

- это то, что Net::SCP::Expect предшествует буквальному сообщению об ошибке, которое он получает от самого SCP, поэтому в этом случае

Вы уверены, что хотите продолжить подключение (да /нет)?

Обычно это происходит из-за того, что хост, к которому подключается SCP, еще не известен.

Вам следует установить auto_yes в 1, если вы хотите избежать этой ошибки как объясняет документация CPAN для NET :: SCP :: Expect , но я вижу, что вы уже это делаете.

Если это не поможет, рассмотрите вопрос о повышении timeout_autoзначение .По умолчанию он равен 1 секунде, но если SCP задает вопрос «Вы уверены» дольше (потому что, например, поиск DNS хоста занимает больше времени), этого может быть недостаточно.

...