SSH: Чи використовуєте одну пару приватних / відкритих ключів для кожної віддаленої машини? Або єдина пара для всіх?


23

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


@Jim Zajkowski: Я не впевнений, як відповісти на ваш коментар, але це для вас. Стрибки дозволяють контролювати доступ до серверів, що стоять перед Інтернетом, які знаходяться в DMZ (за брандмауером). Скажіть, у вас є "server_a" та "server_b". A знаходиться в мережі, а B - поза мережею. Зовнішні клієнти підключаються до B. Трафік, який йде від А до В, потрібно контролювати і навпаки. Таким чином, ви додаєте поле для стрибків, яке має дві мережеві карти. Той, який підключає його до внутрішньої мережі (A), і той, який підключає його до зовнішньої мережі (B). Тож з A ви переходите до стрибка для стрибків, а потім до B. Одна з переваг

@IMTheNachoMan - я перетворив вашу відповідь на коментар, хоча найкращим місцем для цього було б як коментар безпосередньо у відповіді, що містить коментар, на який ви відповідаєте (це мене трохи запаморочило). Якщо у вас є якісь питання, перескочіть на мета і запитайте. Дякуємо за роз’яснення незалежно.
Кара Марфія

Відповіді:


27

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


4

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

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


2

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

Для даного користувача ви можете генерувати один ключ і використовувати його скрізь, доки приватний ключ буде реплікуватися на всі ініціюючі хости. (Це станеться автоматично через домашні каталоги, вмонтовані в мережу, та на основі каталогічної системи аутентифікації, наприклад OpenLDAP, оскільки користувач завжди буде "тим самим", незалежно від того, з якої робочої станції він увійде.)

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

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

Крім того, якщо ви використовуєте таку систему управління, як платформа HP Server Automation, то віддалене адміністрування керованих серверів стає більш спрощеним процесом.


1
Кожен повинен зберігати свої ключі в зашифрованому вигляді. Чи можете ви пояснити переваги безпеки "стрибка", тому що я не бачу цього.
Джим Зайковський

як реалізовано в декількох банках, до яких я потрапив, і в інших місцях, ідея "стрибка" полягає в тому, що ви не можете отримати доступ до серверів у DMZ або підмережі тощо зі своїм "звичайним" користувачем. Ви підключаєтесь до вікна стрибків, а потім у формі, що зареєстрована, su для користувача управління для підключення до іншої мережі.
warren

2
Перевага безпеки == 0, іншими словами.
живіт

@womble - можливо, це правильно. Але це те, що робить багато параноїчних компаній. Оскільки suсеанс реєструється, він підлягає аудиту.
warren

1
чому тільки suсесії підлягають аудиту, а не інші?
Жоао Портела

1

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

Найбільш розумною відповіддю для мене буде той, де пропонувалося це робити ТОЛЬКО, якщо це передбачає окремі адміністративні ролі без особливого перекриття. Таких, що це можуть бути різні люди, що працюють з різними ролями, або на різних робочих станціях чи що завгодно. У такому випадку у вас є більше унікальних речей для вирішення кожної різної ролі, так що це більш виправдано.


0

Для зручності управління декількома серверами, що підтримують SSH, ви можете перевірити cssh . Ви можете комбінувати cssh із прохідними ключами SSH, щоб значно підвищити вашу здатність керувати кількома серверами одночасно.


2
Як вам вдається отримати «шалених помилок» у прославленому для циклу?
живіт

Щось із цього виглядає дуже смертельно - Якщо ви помилитесь, ви викручуєте всі ваші сервери відразу, а не один!
Нік

@Nick - правда, але це майже завжди так, коли я відповідаю за коробку =) @womble - так? до яких "божевільних помилок" ви посилаєтесь?
Greeblesnort

1
Угорі сторінки проекту, на яку ви посилаєтесь: "ПРИМІТКА. Я незабаром повернусь до цього проекту, щоб я міг виправити в ньому шалені помилки". Той факт, що через два роки все ще з’являється, ще більше не збільшує мою віру в це.
живіт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.