Чи є погана ідея використовувати той же приватний ключ ssh на декількох комп'ютерах?


35

Нещодавно я купив ноутбук, з якого потрібно отримати доступ до тих же віддалених хостів, які я роблю з мого робочого столу. Мені здалося, що можна просто скопіювати файл приватного ключа з мого робочого стола на мій ноутбук і не потрібно додавати новий ключ до ~/.ssh/authorized_keys файли на всіх хостах, які я хочу отримати. Тому мої запитання:

  1. Чи це можливо навіть?
  2. Чи є якісь неочевидні наслідки для безпеки?
  3. Іноді я буду входити в свій робочий стіл з мого ноутбука. Якщо б використовувався той самий ключ, чи не викликали б це проблем?

2
Я підозрюю, що ви маєте на увазі author_keys, а не known_hosts. Перший призначений для вхідних, останній для вихідних.
Matthew Schinckel

Хороший улов. Виправлено.
Jason Creighton

Відповіді:


29

Так, це можливо. Ваш приватний ключ не прив'язаний до однієї машини.

Не впевнений, що ви маєте на увазі під не-очевидним, це часто суб'єктивно;). Це не погана ідея взагалі, якщо ви переконаєтеся, що у вас є дуже сильний набір паролів, принаймні, 20 символів.

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

На сторінці man ssh-agent у системі Linux:

ssh-agent - програма для утримання приватних ключів, що використовуються для відкритого ключа   аутентифікації (RSA, DSA). Ідея   є те, що ssh-agent запускається        на початку X-сесії або сеансу входу в систему, і всі інші   запускаються вікна або програми   клієнтам до ssh-агента        програми. За допомогою змінних середовища агент може бути   знаходяться і автоматично використовуються для   аутентифікації під час входу        до інших машин з використанням ssh (1).

Ви б запустили це на своєму ноутбуці, або програму ssh-agent на Linux / Unix (поставляється разом з OpenSSH), або з агентом puTTY, якщо ви використовуєте Windows. Вам не потрібен агент, який працює на будь-яких віддалених системах, він просто зберігає ваш приватний ключ в пам'яті на локальній системі, тому вам потрібно ввести пароль один раз, щоб завантажити ключ в агента.

Пересилання агента є функцією клієнта ssh ( ssh або putty), який просто зберігає агент через інші системи через ssh-з'єднання.


1
Я не зовсім розумію, що ви пропонуєте щодо пересилання агентом ssh. Не могли б ви трохи детально зупинитися на цьому? Слід зазначити, що я не можу розраховувати на те, що робочий стіл завжди доступний, коли мені потрібно використовувати свій ноутбук.
Jason Creighton

Оновили відповідь :)
jtimberman

9

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

Звичайно, якщо зловмисник отримує доступ і здатний ssh ​​в іншу машину, вони можуть отримати ключ від цієї машини і так далі. Але це змушує мене відчувати себе трохи безпечніше, щоб знати, що я можу скасувати лише один ключ, і заблокувати цю машину. Це означає, що мені потрібно видалити ключ з файлу authorized_keys.


Вибачте, що некро стару посаду, але чи вважаєте ви, що це буде пом'якшено за допомогою шифрування вашого приватного ключа паролем? Або у вашому випадку пароль був порушений?
thirdender

1
Можливо, це буде пом'якшено за допомогою фрази на ключі. Насправді, можливо, ви могли б використовувати ssh forwarding (використовуючи агент), а потім мати тільки один ключ per реальний машину, яку ви використовуєте, і фактично захищені паролем.
Matthew Schinckel
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.