Perl Net :: FTPSSL,不会连接,超时或抛出错误

时间:2010-08-18 23:47:40

标签: perl sftp

我正在尝试使用perl的Net::FTPSSL来连接主机。当我运行脚本时,它会挂起并最终超出我的错误日志,但不会超出浏览器。问题似乎是在创建新连接时。如果我使用Filezilla进行连接,则会发出暂停/响应警告,指出主机密钥未知。当我在Filezilla中“确定”时,它会传递一个命令“Trust new Hostkey:Once”并发送密码并登录。如果这是我的问题,我该如何发送'ok'?这是我的代码 - 它挂在第二行 - 甚至在获取用户名/密码之前。

我正在使用的代码是:

use Net::FTPSSL;
$ftpobj = Net::FTPSSL -> new('host.com', Port => 21) or die "Can't open server.";
$ftpobj -> login("user","pass");
$ftpobj -> get ("file.csv");
$ftpobj -> quit;

2 个答案:

答案 0 :(得分:1)

这可能是有意的,但sftp通常托管在端口22上,而你有21端口。

答案 1 :(得分:0)

SFTP和FTPS是两种完全不同的协议:

  • FTPS是基于SSL或TLS的FTP
  • SFTP是一种在SSH上运行的文件传输协议