Какую лучшую практику вы нашли для управления большим количеством пар ключей SSH?
Я использую SSH для подключения к нескольким системам, как дома, так и на работе. В настоящее время у меня есть довольно небольшая, управляемая коллекция пар ключей как для работы, так и для домашних систем. У меня есть скрипт, который генерирует именованную пару ключей, чтобы избежать путаницы.
Моя домашняя сеть состоит из моего ноутбука (ubuntu), двух рабочих столов (двойная загрузка ubuntu / fedora, двойная загрузка fedora / windows) и мультимедийной системы (ubuntu). На работе у меня есть свой личный ноутбук (который я использую для работы из дома), мой рабочий стол (fedora), производственная система (RHEL) и ноутбук с windows (вздох) и VM (fedora). Пока все хорошо.
(Я не заинтересован ни в том, чтобы помещать мою домашнюю пару ключей в мою рабочую систему, ни в свою рабочую пару ключей в мои домашние системы. И у нас есть виртуальные учетные записи пользователей для механизации передачи файлов с другими системами, где закрытый ключ должен находиться на рабочей машине, для передачи файлов между другими системами.)
Но теперь приходит Hadoop, большой кластер из более чем 100 систем, с еще большей сложностью, большим количеством пользователей и большим количеством пар ключей. Теперь мне нужно управлять ключами.
(Мне нужно уточнить. Я являюсь разработчиком программного обеспечения, консультирующимся с клиентом, который развертывает кластер Hadoop. Им нужно управлять ключами. Многие будут получать доступ к кластеру, которому нужно будет разместить свои открытые ключи в системе. Как резидент Linux savant, они попросили меня о помощи. Я посоветовал нанять системного администратора, но пока они не делают, я помогаю)
Когда мне нужно опубликовать открытый ключ на удаленной системе, все веб-страницы с инструкциями предлагают либо перезаписать (>) (уничтожить существующие ключи), либо добавить (>>) (что хорошо, сохранить существующие ключи) , Но я думаю, что лучше сохранить каждый открытый ключ на машине назначения отдельно и объединить их. Я ищу совет.
Какую наилучшую практику вы нашли для управления большим количеством ключей?
Спасибо!
Редактирование. Одним из аспектов является необходимость размещения ключей на многих системах и сопутствующий CRUD (создание, чтение, обновление, удаление / отключение) для конкретных пользователей, что означает необходимость определения, какие ключи принадлежат тем или иным пользователям.
sshfp
решает проблему с ключом хоста, помещая подписи открытого ключа в DNS. Для учетных данных пользователя вы можете посмотреть либо сертификаты OpenSSH, либо использовать что-то вроде Spacewalk или puppet, чтобы сохранить все пары ключей в центральном месте и развернуть их по мере необходимости. Похоже, вы, вероятно, хотите последнее, так как вы просто настроили бы новый сервер в качестве клиента и затем развернули бы последнюю версию файла.