PerlNet::SFTP::Foreign 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工作得很好。

通过more传递的-i plink选项需要一个参数:
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;

最新更新