Кажется, существует большая путаница в разнице между ключом хоста и ключом пользователя.
Ключ хоста используется для установления личности удаленного хоста для вас.
Пользовательский ключ используется для установления вашей личности на удаленном хосте.
Поскольку эти клавиши обычно отображаются в виде последовательности символов, человеку может быть сложно сразу определить, изменились ли они. Это цель randomart. Небольшое отклонение в ключе приведет к значительному различию изображения.
Что касается того, почему вас это волнует, важно проверить подлинность удаленного хоста, поскольку возможно, что кто-то сможет перехватить ваш трафик ( атака MITM ) и просмотреть / манипулировать всем, что отправлено и получено.
Это не важно, чтобы проверить себя, хотя. Вам не нужно подтверждать "да, я я". Даже если ваш пользовательский ключ каким-то образом изменился, удаленный сервер либо впустит вас, либо не сделает. Ваше соединение не подвержено риску подслушивания.
Так почему же тогда ssh-keygen
отображается изображение randomart, когда вы генерируете свой пользовательский ключ ?
Потому что, когда код randomart был введен в ssh-keygen
[grunk@cvs.openbsd.org 2008/06/11 21:01:35] , ключи хоста и пользовательские ключи были сгенерированы точно так же. Вывод дополнительной информации может быть бесполезен для пользовательского ключа, но это не повредит (кроме того, что может вызвать путаницу).
Теперь, когда я сказал «когда был введен код randomart», это произошло потому, что код с тех пор изменился. В наши дни большинство дистрибутивов используют ssh-keygen -A
для генерации ключей хоста, что является новой функцией. Эта функция генерирует множество различных типов ключей (rsa, dsa, ecdsa) и не отображает случайное изображение. Старый метод все еще можно использовать для генерации ключей хоста, но обычно это не так. Так что теперь старый метод используется только для пользовательских ключей, но функция randomart остается.