首先,我是一个完整的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完美运行。
答案 0 :(得分:2)
您通过-i
的{{1}} plink选项需要一个参数:
more