Моя компания использует OTP over ssh (одноразовый пароль) для доступа к нашим производственным машинам. Взаимодействие может выглядеть примерно так:
$ ssh prod
otp-md5 942 st9621 extResponse:
На данный момент я запускаю программу на Java, чтобы сгенерировать ответ OTP, используя информацию, полученную из SSH. Примечание: , что хэш из вывода ssh (в данном примере «942 st9621») должен быть передан команде ниже как ввод. Этот хэш меняется каждый раз, когда вы ssh.
$ java -jar jop.jar 942 st9621 <password>
LAD DARN BHOY TEST ACHE JUTE
Теперь я вырезал и вставил сгенерированный OTP («LAD DARN BHOY TEST ACHE JUTE») в другое окно консоли.
Итак, просто чтобы все прояснить: часть данных, сгенерированных из команды ssh, должна использоваться при запуске jop в сочетании с моим паролем, а затем результат передается обратно в все еще работающую команду ssh.
Я бы хотел автоматизировать этот процесс. По сути, есть bash-скрипт, который принимает имя хоста, запрашивает пароль, а затем вызывает ssh, передает код otp-md5 в jop, а затем OTP обратно в ssh. Приятно иметь в виду, что , а не , нужно вводить мой пароль в качестве аргумента командной строки, так как тогда он будет сохранен в истории команд, что является большой проблемой безопасности.
Возможно ли это?
Спасибо