Apache SSHD клиент получает открытый ключ сервера - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь получить открытый ключ сервера.Вот что я попробовал:

val serverKey = sshClient.connect("dyn mem", "localhost", "2222")
  .verify()
  .getSession()
  .getKex()
  .getServerKey()

Проблема в том, что результат getServerKey() равен нулю ...

Как я могу получить открытый ключ сервера SSH с помощью ApacheКлиент SSHD.

1 Ответ

0 голосов
/ 11 июня 2018

И connect(), и последующий обмен ключами являются асинхронными операциями, поэтому требуется пара ожиданий.Например:

        ConnectFuture connectFuture = client.connect(username, host, 22);
        connectFuture.await(5000);

        ClientSession session = connectFuture.getSession();
        session.waitFor(Arrays.asList(ClientSessionEvent.WAIT_AUTH), 5000);

        session.getKex().getServerKey();
...