Perl Net::SFTP:: Проблема с подключением к зарубежному Plink
Во-первых, я новичок в sftp & ssh и довольно плохо знаком с Perl. Я пытаюсь написать скрипт для подключения к удаленному серверу и получения файлов. Оба сервера являются окнами Windows 2003. Я установил на сервере сервер sftp и могу подключиться с помощью клиента filezilla с тем же IP-адресом (удален из примера кода по соображениям безопасности), именем пользователя и номером порта, указанными в моем коде.
Блок подключения кода у меня есть:
my $sftp = Net::SFTP::Foreign->new(
host => 'xx.xxx.xxx.xxx',
user => 'radiospx',
port => '22',
ssh_cmd => "C:\\Program Files\\putty\\plink.exe",
more => [qw(-v -i )]
);
$sftp->error and die " SSH connection failed: " . $sftp->error;
Когда я запускаю скрипт, я получаю следующий вывод:
Поиск хоста "sftp" не может открыть соединение: Хост не существует Соединение SSH не установлено: Соединение с удаленным сервером разорвано в строке import.pl 34
Может кто-нибудь предложить, где я иду не так. сервер определенно принимает соединения sftp, так как filezilla работает отлично.
1 ответ
-i
вариант, через который вы проходите more
требует аргумента:
my $sftp = Net::SFTP::Foreign->new(
host => 'xx.xxx.xxx.xxx',
user => 'radiospx',
port => '22',
ssh_cmd => "C:\\Program Files\\putty\\plink.exe",
more => ['-v', -i => "C:\\path\\to\\the\\private.key"]
);
$sftp->error and die " SSH connection failed: " . $sftp->error;