Я пытаюсь использовать java для подключения к серверу Linux, у которого есть двухэтапная аутентификация. Я использую библиотеку JSch, это код, который я получил до сих пор:Двухэтапная аутентификация с использованием библиотеки JSCH
session = jsch.getSession(username, ip);
Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setPassword(password);
session.connect();
System.out.println("Connected to " + ip);
Очевидно, когда я запускаю этот скрипт я получаю ошибку «Ошибка аутентификации» ошибка, как я не ввести ключ аутентификации. Итак, как мне войти с помощью ключа подтверждения. Если это невозможно, кто-то может предложить библиотеку с такой функциональностью.
Это вход в сервер с использованием шпатлевки. Таким образом, вы вводите имя пользователя, затем генерируемый по времени код, а затем пароль.
Ты возможность входа в этот хост с помощью командной строки ssh? Запустите ssh для входа на этот сервер и включите опцию '-vvv', чтобы сделать отладочную информацию вывода ssh. Затем отредактируйте свой вопрос, чтобы включить команду ssh, которую вы выполнили, и полученный результат. Это поможет людям узнать, как делается эта дополнительная проверка. – Kenster
Это невозможно, так как дополнительная проверка основана на времени, поэтому секретная строка передается в метод java, который затем возвращает ключ для второй части проверки. –
Пункт моего предложения состоял в том, чтобы понять, как этот шаг проверки выполняется через протокол ssh. – Kenster