Яке значення має користувач / хост у кінці файлу відкритого ключа SSH?


73

Я не можу зрозуміти, чому ssh-keygenв кінці файлу створюється файл відкритого ключа SSH, створений користувачем та хостом.

Приклад: id_rsa.pub

ssh-rsa ... rest of file ... /CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain

Зверніть увагу root@mydomainна кінець файлу.

Якщо я можу використовувати відкритий ключ будь-де з будь-яким користувачем для автентифікації за допомогою свого приватного ключа, яке значення має root @ mydomain для процесу аутентифікації?

Або це просто власник місця, щоб зрозуміти, ким його видано?


2
Я бачив деякі надмірні веб-форми, для яких потрібне поле для коментарів, включають символ @, але для цього немає жодної технічної причини.
пташенята

Відповіді:


106

Це поле є коментарем і може бути змінено або проігноровано за бажанням. За user@hostзамовчуванням встановлено значення ssh-keygen.


1
Коротко і по суті. Можливість змінити коментар на вирішила для мене загадку. Я вважав, що це відіграє певну роль у процесі аутентифікації ssh.
Василь А

2
@BasilA У мене є кілька ключів, де я його повністю видалив.
Майкл Хемптон

3
Під час налаштування входу ключа SSH до екземпляра в Google Cloud Compute , GCC використовує це поле для коментарів для ідентифікації імені користувача в екземплярі, з яким ключ повинен бути пов’язаний.
hBy2Py

53

Це коротко пояснено на сторінці керівництва, sshd(8)в розділі про авторизовані клавіші:

Протокол 2 відкритого ключа складається з: варіантів , KeyType , base64-закодований ключ , comment.

У opensshконтексті дозволених ключів є лише сенс коментаря. Але є реалізація SSH, яка надає значення цій частині, як, наприклад, реалізація SSH в модемах LANCOM використовує цей коментар як ім'я користувача, для якого ключ дійсний.


6
+1 за цитування чоловіка
mgarciaisaia

17

Як зазначали інші, це коментар, який дозволяє вам визначити, який ключ є.

Якщо дивитися на одну клавішу, наприклад, id_rsa.pubвона не має великої різниці, але, переглядаючи потенційно довгий список ключів, наприклад, те, що у вас є у authorized_keysфайлі, дуже корисно мати можливість легко визначити, який ключ є який.

Крім того, ssh-keygenза замовчуванням є user@hostname, що для типових випадків використання є чітким ідентифікатором, для якого ключа це ( user@domainне було б).


5

Дуже, дуже просто: Я та ти люди, що користуємось машиною. Отже, дивлячись на цей приклад, який ви опублікували:

ssh-rsa [piles of gobbledygook]…CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain

Машина може прочитати це:

ssh-rsa [piles of gobbledygook]…CA9gyE8HRhNMG6ZDwyhPBbDfX

Людина може прочитати цей коментар:

root@mydomain

Люди схильні забувати , що навіть якщо все може виглядати складне комп'ютерні системи, вони можуть бути на насправді тонни складніше , якщо код був розроблений тільки для споживання машини. Я маю на увазі поглянути на затемнений код зловмисного програмного забезпечення. Після того, як ви розшифруєте його та відформатуєте, він читається людиною. Але комусь довелося піти з дороги, щоб людині було важко читати.

За замовчуванням всі типи файлів кодування та конфігурації в комп'ютерній системі є структурою для споживання людиною, тому що ... Ми, люди, що використовують машини та машини, не потребують таких речей, як:

  • Коментарі.
  • Відступи
  • Змінні та функції, написані зрозумілою людиною мовою.

Тож коментар призначений для вас і мене, і нікого більше. Швидше за все, це спрацювало б без коментарів. Але якщо одного разу щось не працює в 3:00 ранку, і ви полюєте на потрібний відкритий ключ, ви збираєтесь побажати / мріяти / молитися, коментар є.


7
"машини не потребують таких речей, як ... Відступ" кашель Пітон кашель
CVn

1
@ MichaelKjörling "... якщо тільки вони не змушені піклуватися про них". :-)
hBy2Py
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.