Соединитесь с системой Linux, защищенной RSA SecurID, используя ssh2 в Java - PullRequest
0 голосов
/ 04 июля 2018

Я хочу создать соединение из системы Windows с машиной Linux, которая использует пароль аутентификации токена RSA для аутентификации, и я хочу запускать команды оболочки и получать выходные данные из кода Java. При входе в систему Linux с использованием putty необходимо выполнить следующие шаги:

  1. Введите IP и порт и подключитесь
  2. Введите имя пользователя в терминале PuTTY, который запрашивает «войти как:»
  3. Введите PASSCODE, где мы вводим RSA SecurID

Я уже пытался подключиться с помощью пакета Jsch, и он не подключается. Я также попробовал jcabi-ssh (http://ssh.jcabi.com/), который является оберткой для Jsch. Кажется, ни один из них не работает для меня.

РЕДАКТИРОВАТЬ: я использовал следующий код, используя Jsch пакеты

        String host = "xxx";
        String user = "xxx";
        String password;

        Scanner scanner = new Scanner (System.in);
        System.out.println("Enter rsa token: ");
        password = scanner.nextLine();

        Session session = jsch.getSession(user, host, 2222);
        session.setPassword(password);
        session.connect();

После этого я получаю следующую ошибку:

com.jcraft.jsch.JSchException: UnknownHostKey: myservername. RSA key fingerprint is ba:2b:70:2f:4f:fa:f6:20:31:56:e0:e8:8b:16:46:c9

Я нашел решение, которое кто-то сказал, включив этот фрагмент кода, который устанавливает StrictHostKeyChecking в «нет»:

    java.util.Properties config = new java.util.Properties(); 
    config.put("StrictHostKeyChecking", "no");
    session.setConfig(config);

Тогда моя ошибка изменилась на:

com.jcraft.jsch.JSchException: Auth cancel

Попытка использовать другую реализацию jcabi-ssh дает аналогичные результаты.

1 Ответ

0 голосов
/ 17 июля 2018

То, что вы ищете, это диалог, который примет парольную фразу в тот момент времени и установит соединение. Вот что вам нужно для интеграции RSA SecureId - http://www.jcraft.com/jsch/examples/UserAuthPubKey.java.html

...