Какова цель образа randomart для пользовательских (не хостовых) SSH-ключей?

95

ssh-keygenГенерирует следующий вывод:

The key fingerprint is:
dd:e7:25:b3:e2:5b:d9:f0:25:28:9d:50:a2:c9:44:97 user@machine
The key's randomart image is:
+--[ RSA 2048]----+
|       .o o..    |
|       o +Eo     |
|        + .      |
|         . + o   |
|        S o = * o|
|           . o @.|
|            . = o|
|           . o   |
|            o.   |
+-----------------+

Какова цель этого изображения, обеспечивает ли оно какую-либо ценность для пользователя? Обратите внимание, что это ключ клиента (пользователя), а не ключ хоста.

синтагма
источник
12
Попробуйте: superuser.com/questions/22535/…
garethTheRed
Google является вашим другом: sanscourier.com/blog/2011/08/31/...
Сетевик
2
вновь открыт, так как несколько постоянных клиентов понравилось это Q и думал, что это будет хорошим дополнением к сайту.
SLM
2
Я думаю, что это хороший вопрос. Хотя приведенные выше ссылки интересны, ни одна из них не отвечает на заданный вопрос. Обе эти ссылки говорят о полезности randomart для ключей хоста, а не о том, почему он показан для ключей пользователя.
Патрик
1
Просто к вашему сведению, я отправил этот вопрос в список рассылки OpenSSH на днях. Пока что сверчки. lists.mindrot.org/pipermail/openssh-unix-dev/2014-July/…
Патрик

Ответы:

55

Это было объяснено в этом вопросе: https://superuser.com/questions/22535/what-is-randomart-produced-by-ssh-keygen . Это действительно не имеет никакого смысла для пользователя, генерирующего ключ, скорее это для простоты проверки. Лично. Вы бы предпочли посмотреть на это: (Обратите внимание, это пример ключа хоста)

2048 1b:b8:c2:f4:7b:b5:44:be:fa:64:d6:eb:e6:2f:b8:fa 192.168.1.84 (RSA)
2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 gist.github.com,207.97.227.243 (RSA)
2048 a2:95:9a:aa:0a:3e:17:f4:ac:96:5b:13:3b:c8:0a:7c 192.168.2.17 (RSA)
2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 github.com,207.97.227.239 (RSA)

Что, будучи человеком, потребовалось бы много времени, чтобы проверить, или вот это:

2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 gist.github.com,207.97.227.243 (RSA)
+--[ RSA 2048]----+
|        .        |
|       + .       |
|      . B .      |
|     o * +       |
|    X * S        |
|   + O o . .     |
|    .   E . o    |
|       . . o     |
|        . .      |
+-----------------+
2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 github.com,207.97.227.239 (RSA)
+--[ RSA 2048]----+
|        .        |
|       + .       |
|      . B .      |
|     o * +       |
|    X * S        |
|   + O o . .     |
|    .   E . o    |
|       . . o     |
|        . .      |
+-----------------+

Примеры взяты с http://sanscourier.com/blog/2011/08/31/what-the-what-are-ssh-fingerprint-randomarts-and-why-should-i-care/

По сути, случайный рисунок, генерируемый ключами пользователя, также может использоваться таким же образом. Если изображение, сгенерированное изначально, отличается от текущего изображения ключа, например, если вы переместили ключ, то ключ, вероятно, был подделан, поврежден или заменен.

Это, из другого вопроса, действительно хорошее чтение: http://users.ece.cmu.edu/~adrian/projects/validation/validation.pdf

Torger597
источник
1
Это не отвечает на вопрос. Предоставляемая вами информация о ключах хоста. Вопрос задает о пользовательских ключах.
Патрик
8
Я боюсь, что я не согласен, вопрос был: какова цель этого изображения, это обеспечивает какую-либо ценность для пользователя? И я ответил, что по сути это не имеет значения для пользователя, генерирующего указанный ключ. Если я что-то пропустил или вы хотите, чтобы я добавил дополнительные примеры и т. Д., Пожалуйста, дайте мне знать. Я здесь новенький.
Torger597
1
Я согласен, именно об этом спрашивали о ключах пользователя , а не о ключах хоста.
Патрик
3
Я использовал ключи хоста в качестве примера, потому что основной принцип есть, хотя я придумаю и добавлю пример ключа пользователя. Спасибо за вклад, Патрик.
Torger597
13

Кажется, существует большая путаница в разнице между ключом хоста и ключом пользователя.

Ключ хоста используется для установления личности удаленного хоста для вас.
Пользовательский ключ используется для установления вашей личности на удаленном хосте.
Поскольку эти клавиши обычно отображаются в виде последовательности символов, человеку может быть сложно сразу определить, изменились ли они. Это цель 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 остается.

Патрик
источник
Вам не нужно подтверждать "да, я я". да, хотя было бы немного точнее сказать: «Да, я похож на себя». Если у вас много ключей, вам может потребоваться дополнительная обратная связь, чтобы убедиться, что вы используете правильный ключ.
Алоис