Що таке випадковийкарт, що продукується ssh-keygen?


352

Коли ви генеруєте ключ, ви отримуєте "випадковий" з новіших версій OpenSSH. Я не можу знайти пояснення того, чому і для чого я повинен його використовувати.

Generating public/private rsa key pair.
The key fingerprint is:
05:1e:1e:c1:ac:b9:d1:1c:6a:60:ce:0f:77:6c:78:47 you@i
The key's randomart image is:
+--[ RSA 2048]----+
|       o=.       |
|    o  o++E      |
|   + . Ooo.      |
|    + O B..      |
|     = *S.       |
|      o          |
|                 |
|                 |
|                 |
+-----------------+

Generating public/private dsa key pair.
The key fingerprint is:
b6:dd:b7:1f:bc:25:31:d3:12:f4:92:1c:0b:93:5f:4b you@i
The key's randomart image is:
+--[ DSA 1024]----+
|            o.o  |
|            .= E.|
|             .B.o|
|              .= |
|        S     = .|
|       . o .  .= |
|        . . . oo.|
|             . o+|
|              .o.|
+-----------------+

5
Ще одне питання, яке я хотів би задати, це; чи безпечно ділитися своїм випадковим зображенням з іншими? Іншими словами, з урахуванням випадкового зображення, такого як вище, чи можна повернути назад ключ до ключа?
AndyJ0076

Відповіді:


259

Випадковийкарт призначений для людей простішим способом перевірити ключі.

Перевірка зазвичай проводиться шляхом порівняння безглуздих рядків (тобто шістнадцяткового зображення ключового відбитка), які люди досить повільні та неточні при порівнянні. Randomart замінює це структурованими зображеннями, які швидше і простіше порівняти.

У цьому документі "Візуалізація хешу: нова техніка поліпшення безпеки в реальному світі", Perrig A. і Song D., 1999, Міжнародний семінар з криптографічних методів та електронної комерції (CrypTEC '99) " пояснюються деякі прийоми та переваги.


66
Якщо ви могли просто пояснити, чому люди перевіряють ключі, це може допомогти, бо, чесно кажучи, я схильний просто помістити свій відкритий ключ у файл дозволених ключів і зробити це з ним.
dlamblin

43
@dlamblin: Ви, як правило, не підтверджували свої власні ключі за допомогою цього. Однак це буде корисно для перевірки хост-ключа віддаленої машини. Одна ідея полягає в тому, що якщо ви ввійдете на певну машину з різних місць (або ви не збережете її ключ у вашому файлі знаних_хостів), ви зможете розпізнати "мистецтво" ключа хоста. Якщо це мистецтво раптово змінилося, вам слід насторожено вводити свій пароль, оскільки це може означати, що на ваше з'єднання триває атака "посеред" (або це може означати, що хост щойно змінив свої ключі на якісь інші причина).
Кріс Джонсен

29
Гм, коли я міг побачити господарів мистецтва? (Я думаю, я ніколи цього не робив.) Таке зображення я бачив лише після створення своєї ключової пари. І з чим я мав би порівнювати це, щоб визнати "раптову" зміну.
DerMike

12
Я б зробив ставку, щоб випадковий дотримувався аналогічного принципу, як хеші для перевірки цілісності, а саме: невелика різниця вхідних даних генерує диво інший вихід. Це означає, що вам просто доведеться запам’ятати грубу форму очікуваного випадковогорозділу, щоб мати можливість помітити щось не так. Звичайно, це не спрацьовує на практиці, коли SSH та ін не показують вам випадкове розташування хоста, до якого ви підключаєтесь (вони повинні робити це навіть тоді, коли хост відомий).
Алан Плюм

2
Я думаю, що вони найбільш корисні, коли відкриті ключі особисто обмінюються для перевірки цілісності після завершення копії.
jordanpg

198

Додайте

-o VisualHostKey=yes 

у ваш командний рядок, або поставити

VisualHostKey=yes 

у вашому ~/.ssh/config.

Ви побачите випадковий діапазон вікна, в який ви входите. Якщо ви входите в один день, і випадкове мистецтво відрізняється (ваш мозок повинен піти Гей! Я цього не визнаю!), Можливо, хтось зламає, чи щось.

Ідея полягає в тому, що вам це не потрібно свідомо робити. Один з ключів для однієї з наших машин, схожий на метелика. Ще один вид схожий на хуй (так, наші мізки є примітивними). Якщо ви входите щодня, ви звикаєте до зображень, навіть не намагаючись.


9
Не великий. Якщо ви раніше входили в систему, набагато краще, щоб комп'ютер розпізнавав вас за допомогою збереженого відбитка пальця. Ця функція призначена лише для входу в нові машини.
Ніколас Вілсон

57
До запізнення на цю відповідь, але варто зазначити, що це було б дуже корисно, якби ви входили з іншої машини, яка не мала всіх ваших відомих_хостів. У цьому випадку комп'ютер не міг би перевірити, що це відомо, але користувач повинен бачити "Це виглядає інакше, ніж звичайно!" і перервати.
Xkeeper

9
Дозволяє вашому комп’ютеру розпізнавання вразливий до того, що відомі хости вашого власного комп’ютера будуть зламані Так само, як ви не повинні дозволяти вашому комп'ютеру вводити паролі для вас, вам було б краще перевірити ключ хоста самостійно.
Марко Топольник

37

Офіційне повідомлення: випущено OpenSSH 5.1

Введіть експериментальну візуалізацію SSH Fingerprint ASCII до ssh (1) та ssh-keygen (1). Візуальний відображення відбитків пальців керується новою опцією ssh_config (5) "VisualHostKey". Намір полягає в тому, щоб надати хостинг-ключі SSH у візуальній формі, яка підлягає простому виклику та відхиленню змінених ключів хоста. Ця техніка натхненна графічними схемами візуалізації хешу, відомими як "випадкове мистецтво [*]", та роздумами Дана Камінського на 23С3 у Берліні.

Візуалізація відбитків пальців у на даний момент відключена за замовчуванням, оскільки алгоритм, який використовується для створення випадкового мистецтва, все ще може змінюватися.


8
Це останнє речення, дійсно, варто знати. Інформація OpenBSD Journal @ Undeadly.org про реліз OpenSSH 6.8 стверджує: "Зверніть увагу, що візуальні ключі хостів також будуть іншими". Більш нове програмне забезпечення показує інші зображення, ніж зображення, показані в попередньому програмному забезпеченні.
TOOGAM


11

Відображення Randomart після генерації ssh-keygen є графічним зображенням щойно створеного ключа. Тоді:

  • Randomart не дуже корисний для користувача, який створив ключ ssh

  • Randomart може бути дуже корисним для користувача, який використовує з'єднання через SSH для підключення часто до одного і того ж сервера : якщо він додав до своєї команди SSH опцію "-o VisualHostKey = так":

    ssh user@domainname.com -o VisualHostKey = так

буде показано Randomart, що відповідає відкритому ключу сервера.

Щоб побачити приклад, ви можете спробувати:

ssh git@github.com -o VisualHostKey = так

У випадку, коли користувач часто підключається до одного і того ж сервера, він може швидко і легко перевірити, розпізнає він Randomart, відповідний відкритому ключу цього сервера чи ні. Що простіше і швидше, ніж перевірка рядка символів самого відкритого ключа!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.