我正尝试使用perl Net :: SFTP :: Foreign将文件传输到远程主机。但是我在建立连接时通过$ sftp-> error获取错误消息。这个程序对其他远程主机工作正常。Perl Net :: SFTP ::使用密码验证的外部问题
错误消息:如预期 密码未请求:0
通讯的代码片段:
my %args = (password => $config->[$i]->{'PSWD'}, user => $config->[$i]->{'USERNAME'}, port => $config->[$i]->{'PORT'}, more => [-o => 'StrictHostKeyChecking no'], more => '-v');
$sftp = Net::SFTP::Foreign->new($config->[$i]->{'HOSTNAME'}, %args);
详细日志(相关片):
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: keyboard-interactive,password
debug1: Next authentication method: keyboard-interactive
Password authentication
在此之后,程序以上述错误终止。
手动连接到主机时,请求的密码是? – choroba
@choroba,是的 - 它是手动连接时要求输入密码。此外,我可以在输入pwd后手动连接。 –
尝试在'%args'中添加'expect_log_user => 1,more =>'-v''获取更多调试信息。另外我注意到'Net :: SFTP :: Foreign'的来源[没有那个错误信息](https://github.com/salva/p5-Net-SFTP-Foreign/search?utf8=%E2% 9C%93&q =密码+不是+请求+ as +期望值)(除了示例程序)。 –