Perl Net::SFTP::外部密码身份验证错误
我正在运行以下脚本以连接到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);
#!/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).