#!/usr/local/bin/perl use strict; use warnings; system("cd $PATH /usr/bin/sftp mysite.com <<!EOF put sample.txt bye !EPF");
当我在应用程序complile,它询问密码,如何通过代码本身的用户/密码,
我想要的是,我的脚本不应该问密码。 我想在代码本身设置用户/密码。 用户命令不工作在sftp如何使它。
有了这样一个模糊的问题,很难给出更多的答案。
你有没有试过Net :: SFTP模块?
编辑:
基于对问题的编辑 – 尝试使用Net :: SFTP :: Foreign
use Net::SFTP::Foreign; use warnings; use strict; my $host = "xxx.xxx.xxx.xxx"; my $sftp = Net::SFTP::Foreign->new($host, user => 'user', password => 'pass'); $sftp->error and die "Something bad happened: " . $sftp->error; $sftp->put("sample.txt", "/home/test/test") or die "put failed: " . $sftp->error;
你应该得到一个更有意义的错误消息,你可以从那里拿走它。
您可以尝试其他模块,例如Net :: SFTP :: Foreign或Net :: SSH2的SFTP功能。