Для Apache Mina SSHD больше не доступны методы аутентификацииJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Для Apache Mina SSHD больше не доступны методы аутентификации

Сообщение Anonymous »

Я столкнулся с проблемой при попытке аутентификации сеанса SSH с использованием библиотеки Apache Mina SSHD на Java в проекте микросервиса весенней загрузки. У меня есть рабочая реализация с использованием JSch, которая успешно подключается с помощью закрытого ключа, но эквивалентный код в Apache Mina SSHD завершается с ошибкой:

Код: Выделить всё

org.apache.sshd.common.SshException: No more authentication methods available                                                                                                             org.apache.sshd.common.future.AbstractSshFuture.verifyResult(AbstractSshFuture.java:141) ~[sshd-common-2.14.0.jar:2.14.0]                                                          org.apache.sshd.client.future.DefaultAuthFuture.verify(DefaultAuthFuture.java:56) ~[sshd-core-2.14.0.jar:2.14.0]                                                                    org.apache.sshd.client.future.DefaultAuthFuture.verify(DefaultAuthFuture.java:35) ~[sshd-core-2.14.0.jar:2.14.0]                                                                   org.apache.sshd.common.future.VerifiableFuture.verify(VerifiableFuture.java:43) ~[sshd-common-2.14.0.jar:2.14.0]
Вот реализация кода:

Код: Выделить всё

try (SshClient sshClient = SshClient.setUpDefaultClient()) {
sshClient.start();

try (ClientSession session =
sshClient.connect(user, host, port).verify(ftpTimeOutInSeconds * 1000L).getSession()) {

Path privateKeyPath = Paths.get(System.getProperty("java.io.tmpdir"), "key.pem");
FileKeyPairProvider fileKeyPairProvider = new FileKeyPairProvider(privateKeyPath);
Iterable keyPairs = fileKeyPairProvider.loadKeys(session);

if (keyPairs.iterator().hasNext()) {
session.addPublicKeyIdentity(keyPairs.iterator().next());
}

session.auth().verify(ftpTimeOutInSeconds * 1000L);
LOGGER.info("Session authenticated successfully!");
}
} catch (IOException e) {
LOGGER.error("I/O Exception occurred: " + e.getMessage());
} catch (Exception e) {
LOGGER.error("General Exception occurred: " + e.getMessage());
}
Ошибка возникает в строке кода

Код: Выделить всё

session.auth().verify(ftpTimeOutInSeconds * 1000L);
Вот эквивалентная реализация JSch, которая работает нормально:

Код: Выделить всё

JSch jsch = new JSch();
Session session1 = null;

try {

Path privateKeyPath = Paths.get(System.getProperty("java.io.tmpdir"), "key.pem");
jsch.addIdentity(privateKeyPath.toString());

session1 = jsch.getSession(user, host, port);
session1.setTimeout(ftpTimeOutInSeconds * 1000);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session1.setConfig(config);

session1.connect();
LOGGER.info("Connected and authenticated successfully!");
} catch (JSchException e) {
LOGGER.error("JSch Exception occurred: " + e.getMessage());
} finally {
if (session1 != null && session1.isConnected()) {
session1.disconnect();
}
}
В чем может быть причина сбоя аутентификации в реализации Apache Mina SSHD и как решить эту проблему? Мы будем очень признательны за любые идеи или рекомендации по дальнейшей отладке!

Подробнее здесь: https://stackoverflow.com/questions/790 ... -mina-sshd
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Реализация запросов Expect через SSH с использованием Apache MINA SSHD в Java
    Anonymous » » в форуме JAVA
    0 Ответы
    52 Просмотры
    Последнее сообщение Anonymous
  • Apache Mina sshd: kex_exchange_identification: прочитано: сброс соединения по узлу
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Apache MINA SSHD: SFTP-сервер: запретить переопределение файлов для определенных путей.
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Apache MINA SSHD: SFTP-сервер: запретить переопределение файлов для определенных путей.
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как загрузить закрытый ключ из байтового массива в Apache Mina SSHD 2.11.0?
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»