Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl Net::SFTP::外部密码身份验证错误_Perl_Sftp - Fatal编程技术网

Perl Net::SFTP::外部密码身份验证错误

Perl Net::SFTP::外部密码身份验证错误,perl,sftp,Perl,Sftp,我正在运行以下脚本以连接到sftp: #!/usr/bin/perl use strict; use warnings; use POSIX; use File::Path qw(make_path); use File::Copy; use IO::Handle; use IO::File; use Data::Printer; use Net::SFTP::Foreign; $Net::SFTP::Foreign::debug = -1; STDOUT->autoflush(1);

我正在运行以下脚本以连接到sftp:

#!/usr/bin/perl
use strict;
use warnings;
use POSIX;
use File::Path qw(make_path);
use File::Copy;
use IO::Handle;
use IO::File;
use Data::Printer;
use Net::SFTP::Foreign;
$Net::SFTP::Foreign::debug = -1;

STDOUT->autoflush(1);
STDERR->autoflush(1);

my ($genCfgFile) = <@ARGV>;

if (!defined($genCfgFile)||($genCfgFile eq '')){
    print "Usage: $0 cfgFile";
    exit(1);
}

my %User_Preferences=readCfgFile($genCfgFile);
    print p(%User_Preferences)."\n";
getFilesFromSFTP(\%User_Preferences);

exit(0);

sub getFilesFromSFTP{
    my ($User_PreferencesHref)=@_;
    my $FtpHost=$User_PreferencesHref->{"FTP_HOST"} or die "Missing parameter FTP_HOST in cfg file.\n";
    my $FtpPort=$User_PreferencesHref->{"FTP_PORT"} or die "Missing parameter FTP_PORT in cfg file.\n";
    my $FtpUser=$User_PreferencesHref->{"FTP_USER"} or die "Missing parameter FTP_USER in cfg file.\n";
    my $FtpPwd=$User_PreferencesHref->{"FTP_PWD"} or die "Missing parameter FTP_PWD in cfg file.\n";

    my %args = (user => $FtpUser, password => $FtpPwd, port => $FtpPort);

    print p(%args)."\n";

    my $sftp= Net::SFTP::Foreign->new($FtpHost, %args) or die "Cannot connect to : $@";
    my $entries = $sftp->ls;
    print p(@$entries)."\n";
}
我正在使用IO::Pty v 1.12和Net::SFTP::Foreign 1.77,有人能帮我吗?

这是你的问题:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

您的登录未被接受。无法告诉您原因,因为这是服务器端错误。诊断步骤可能包括:手动运行sftp,验证用户名/密码实际上可以登录到sftp服务器并运行“ls”

确实是密码,有一些奇怪的字符把脚本弄乱了。Thx指出了真正的问题,但被调试输出弄糊涂了。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).