Итак, я новичок в ssh-аутентификации и подобных вещах, но я хотел попробовать создать небольшой ssh-клиент, используя уже существующую библиотеку Jsch
.Я хочу подключиться к хосту с включенным «StrictHostKeyChecking
», но когда я хочу подключиться к своему хосту, он отклоняет соединение из-за неизвестного ключа хоста.И это нормально!
Но я хочу дать пользователю возможность просмотреть отпечаток пальца RSA и дать ему решение принять или отклонить соединение, избегая при этом использования интерфейса UserInfo
и использования «жестко закодированного»обработка "(это просто сообщения и ответы, которые жестко запрограммированы, но я хочу свободно спроектировать обработку таких вещей).
Моя попытка будет состоять в том, чтобы попытаться подключиться к хосту, и если соединение будет отклонено из-за отсутствующего / неизвестного ключа хоста, приложение должно получить открытый ключ ssh-rsa, например, команду ssh-keyscan
в linuxсделал бы и дал бы пользователю возможность доверять отпечатку пальца и, таким образом, добавить ключ к известному файлу hosts (как это делают некоторые другие инструменты ssh -> PuTTY).
Я читал об этом, что этот путь не 'Это не безопасно из-за атак «человек посередине», но я просто хочу поэкспериментировать с некоторыми возможностями и понять, как все работает.
Возможно ли это, или я что-то упустил, а это не так?возможный?Я открыт для любых тем о создании и восстановлении ключей, так что не сдерживайтесь!:)