Это просто дикий выстрел в темноте, но опция user
не должна быть в хеш-коде, переданном ssh_args
, она на том же уровне. Попробуйте использовать этот код вместо:
my $sftp = Net::SFTP->new(
$targetserver,
user => 'canneu_scp',
ssh_args => {
identity_files => [ '/home/home1/cgrshah/responsys/capgemini.private' ],
debug => 1,
}
) or die "could not open connection to $targetserver\n";
Похоже, что приведенный выше код продвинул вас дальше, и теперь у вас есть проблемы, потому что ваша версия Math::BigInt
слишком старая Я вижу три способа двигаться вперед:
- переключиться на ключ RSA вместо ключа DSA
- найти скорость вращения
Math::BigInt
версии 1.78 или более поздней
- установить вручную копию
Math::BigInt
Третий вариант имеет много подводных камней, и если вы решите пойти с ним, я бы предложил следующие шаги:
- установка
App::cpanminus
- убедитесь, что у вас установлен gcc
- пробег
wget -O- <a href="http://cpanmin.us" rel="nofollow">http://cpanmin.us</a> | perl - --local-lib=~/perl5 App::cpanminus
- добавить
~/perl5/bin
на свой путь
- установить
Math::BigInt
в свой домашний каталог с помощью cpanm --local-lib=~/perl5 Math::BigInt
- добавьте
use lib "$ENV{HOME}/perl5";
в начало вашего скрипта, чтобы он мог найти новые модули