Якщо ви хочете мати sh-логін, що базується на відкритому ключі, для декількох машин, чи використовуєте ви один приватний ключ і ставите однаковий відкритий ключ на всі машини? Або у вас є одна пара приватних / відкритих ключів для кожного з'єднання?
Якщо ви хочете мати sh-логін, що базується на відкритому ключі, для декількох машин, чи використовуєте ви один приватний ключ і ставите однаковий відкритий ключ на всі машини? Або у вас є одна пара приватних / відкритих ключів для кожного з'єднання?
Відповіді:
Я використовую один ключ на набір систем, які мають загальний адміністративний кордон. Це обмежує кількість машин, які вискакують, якщо ключ зламаний, при цьому не повністю переповнюючи мою здатність зберігати та керувати кількома тисячами ключів. Різні парольні фрази на кожній клавіші означають, що навіть якщо всі ваші приватні ключі вкрадені, а один ключ порушений, решта не спускаються з ним у туалет. Крім того, якщо ви робите щось дурне (наприклад, копіюєте приватний ключ на ненадійну машину), вам знову не доведеться переробляти все, лише машини, пов’язані з цим ключем.
Публічний ключ не має великого значення, оскільки, за визначенням, його можна оприлюднити. Тож єдине питання - конфіденційність ваших приватних ключів. Вони на вашій власній машині, і всі разом, тому, якщо хтось порушений, цілком імовірно, що всі вони будуть порушені. Тому кілька клавіш - це просто більше роботи для одного ефекту.
Єдиний раз, коли я використовував би різні ключі, - це для різних облікових записів або різних ролей, які за визначенням не повинні мати повного перекриття доступу.
Якщо я правильно розумію, кожен сервер матиме свій відкритий ключ.
Для даного користувача ви можете генерувати один ключ і використовувати його скрізь, доки приватний ключ буде реплікуватися на всі ініціюючі хости. (Це станеться автоматично через домашні каталоги, вмонтовані в мережу, та на основі каталогічної системи аутентифікації, наприклад OpenLDAP, оскільки користувач завжди буде "тим самим", незалежно від того, з якої робочої станції він увійде.)
Поза системою користувача, що базується на каталогах, я думаю, що це погана ідея ™ користуватися одними і тими ж ключами скрізь - у вас закінчується чисте зниження рівня безпеки системи, тому що кожен, хто може отримати ключ від будь-якої з робочих станцій, може підтвердити автентифікацію як цього користувача на віддалений сервер.
Ще одна альтернатива, яку використовують декілька великих корпорацій (і я впевнений, що і малі) - ніколи не дозволяти "користувачеві" використовувати попередньо розділені ключі, а скоріше потрібно увійти до вікна "стрибок" або "хаб" , su
до відповідного користувача, що підключається, а потім SSH звідти на сервери, якими вони повинні управляти.
Крім того, якщо ви використовуєте таку систему управління, як платформа HP Server Automation, то віддалене адміністрування керованих серверів стає більш спрощеним процесом.
su
сеанс реєструється, він підлягає аудиту.
su
сесії підлягають аудиту, а не інші?
Як казали інші, хоча ідея декількох пар ключів може здатися більш захищеною, якщо є шанс, що вони будуть використані таким чином, що всі вони будуть в одному місці, то це просто більше клопоту і не більш безпечно. Кілька парольних фраз зробить це більш захищеним, але також і великим головним болем, намагаючись запам'ятати, яка парольна фраза йде з яким ключем, а яка клавіша йде з яким сервером.
Найбільш розумною відповіддю для мене буде той, де пропонувалося це робити ТОЛЬКО, якщо це передбачає окремі адміністративні ролі без особливого перекриття. Таких, що це можуть бути різні люди, що працюють з різними ролями, або на різних робочих станціях чи що завгодно. У такому випадку у вас є більше унікальних речей для вирішення кожної різної ролі, так що це більш виправдано.
Для зручності управління декількома серверами, що підтримують SSH, ви можете перевірити cssh . Ви можете комбінувати cssh із прохідними ключами SSH, щоб значно підвищити вашу здатність керувати кількома серверами одночасно.