Публікація id_rsa.pub для спрощення налаштування нових середовищ?


20

Щоб полегшити налаштування пароля SSH на нових машинах та середовищах, чи є причина, чому id_rsa.pubфайл (лише загальнодоступна половина ключових пар) не може бути опублікований десь в Інтернеті? Наприклад, у точковому сховищі GitHub.

Я знаю, що:

  • id_rsaфайл (приватна половина пари ключа) повинен бути ретельно охороняється і
  • пара ключів повинна бути захищена парольною фразою

Але мої пошуки не виявили явних порад про те, що це дозволено чи рекомендується.

З цікавості, чи відповідатиме та сама порада для введення ключових слів без парольної фрази?


2
Хоча це може бути безпечним у загальному випадку (якщо припустити правильно сгенерований ключ), в минулому існували недоліки (знаменита помилка Debian OpenSSH ), які суттєво обмежили область клавіш і залишили приватний ключ зрозумілим на основі відкритого ключа. Отже, завжди існує такий ризик - звідки ви знаєте, що ваш keygen SSH не страждає від подібної вади?
Боб

2
Один механізм цього вже існує: ssh-import-id
MikeyB

тож ви можете поділитися id_rsa.pub між машинами?
Федеріко

Відповіді:


26

RSA розроблена спеціально для того, щоб ви могли поділитися цим відкритим ключем, так що так, ви можете опублікувати його. Це дуже схоже на те, як працює x.509 (та SSL) із сертифікатами RSA.

Перш ніж публікувати файл, перегляньте його; Єдині речі, які повинні бути там, - це ключове слово "ssh-rsa" та ключ, кодований base64. Ви можете зберегти це (я вважаю, це зараз за замовчуванням).

Це справедливо, незалежно від того, чи є у ключа ключ із паролем. Парольна фраза шифрує приватний ключ і не впливає на відкритий ключ.

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

Я пропоную скористатися 4096-бітовим ключем (вказати -b 4096), так що комусь буде важче перетворити ваш відкритий ключ у приватний. Це єдиний суттєвий ризик для цього, і він не дуже великий, оскільки алгоритм розроблений спеціально для того, щоб зробити його непрактичним.


33

Це вже є. :) Просто поставте ".keys" в кінці URL-адреси вашого профілю Github, наприклад:

https://github.com/tjmcewan.keys


Тант справді цікавий. Чому це викриває GitHub?
richardneish

Зручність. :) Це відкритий ключ, зрештою - він призначений для спільного використання. Зараз набагато простіше схопити новий ключ співавтора і додати його до своїх серверів. Зберігає електронну пошту назад і назад.
tjmcewan

Я не розумів, що вони це зробили.
Зеб

1
+1 за цікаву знахідку про Github.
Реймонд Тау

5

Хоча, як правило, я не рекомендую розміщувати власну конкретну конфігурацію у сховищах загальнодоступних проектів (якщо припустити, що репо для всіх, а ваша конфігурація лише для вас , це просто трохи грубо), наслідки для безпеки мінімальні.

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

Існує кутовий вектор атаки, який, ймовірно, не застосовується, але якщо ви згадаєте фіаско, коли Debian випадково зламав opensl PRNG , будь-який ssh-ключ, сформований у постраждалій системі, легко передбачуваний і може бути ідентифікований за його відкритим ключем. Тож у такому випадку публікація відкритого ключа може поставити вас у біду. Або, більш доцільно, використання цього ключа для будь-чого може поставити вас у біду.


вектор 1. як щодо зіткнення відбитків пальців? це набагато коротше, ніж сам відкритий ключ; вектор 2 mim атаки типу "oops сервер довелося перевстановити, він має інший ключ, але будь-ласка, увійдіть у будь-який момент", і підробити успішну автентифікацію для даних відкритих ключів користувача (якщо це можливо, я не впевнений)

1

Так, ви можете опублікувати свій SSH паскі. І ви можете опублікувати відбиток сервера за допомогою запису SSHFP в DNS! Наприклад, це може бути дуже зручно, наприклад, якщо вам потрібно оновити / змінити ключ SSH сервера.

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