我正嘗試使用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 +期望值)(除了示例程序)。 –