Я пытаюсь использовать библиотеку ssh2 nodejs для получения файлов с удаленного сервера. Мой код работает нормально для пользователя "xyz". Однако фактический пользователь будет иметь формат «abc\xyz», где abc — домен, а xyz — фактический пользователь. Когда я запускаю тот же код с пользователем, что и «abc\xyz», я продолжаю получать сообщение об ошибке: «Ошибка sftp: {[ОШИБКА Все настроенные методы проверки подлинности не удались] уровень:« проверка подлинности клиента »}»
Я могу использовать ssh вручную, используя этого пользователя как "xyz\abc"@hostname, но по какой-то причине это не работает в коде. Я что-то упускаю?
Из-за определенных ограничений здесь не может быть приведен точный код, но ниже приведен соответствующий код после внесения некоторых необходимых изменений для маскировки переменных:
else {
// Provide an SFTP interface remote files
var conn = new ssh2();
conn.on('ready', function() {
logger.info('sftp connection ready');
conn.sftp(function(err, sftp) {
if(err) throw err;
refreshRemoteFiles(sftp);
});
}).on('error', function(err) {
logger.info('some text +variable: '+variable value);
logger.info('some text +variable'+variable value);
logger.info('some text +variable'+varibale value);
logger.info('some text: sftp error:', err);
}).connect({
host: hostname,
port: 22,
username: username,
password: password
// debug: function(str) { logger.debug('sftp debug: %j', str); }
});
}
keyboard-interactive
). Вероятно, вы можете узнать, в чем дело, включив отладку в клиенте OpenSSH. - person mscdex   schedule 24.06.2015