Назад | Перейти на главную страницу

SSH: Используете ли вы одну пару закрытого / открытого ключей для каждой удаленной машины? Или единая пара для всех?

Если вы хотите использовать ssh-логины на основе открытого ключа для нескольких машин, используете ли вы один закрытый ключ и помещаете один и тот же открытый ключ на все машины? Или у вас есть одна пара закрытого / открытого ключей для каждого подключения?

Я использую один ключ для каждого набора систем с общей административной границей. Это ограничивает количество машин, которые открываются, если ключ скомпрометирован, но не полностью подавляет мою способность хранить и управлять несколькими тысячами ключей. Различные парольные фразы для каждого ключа означают, что даже если все ваши личные ключи украдены, а один ключ скомпрометирован, остальные не спустятся с ним в унитаз. Кроме того, если вы делаете что-то глупое (например, копируете закрытый ключ на ненадежный компьютер), вам снова не нужно менять ключи всего, только машины, связанные с этим ключом.

Открытый ключ не имеет большого значения, поскольку по определению может быть опубликован. Поэтому единственная проблема - это конфиденциальность ваших личных ключей. Они находятся на вашей собственной машине и все вместе, поэтому, если одна будет скомпрометирована, скорее всего, они все будут скомпрометированы. Следовательно, несколько пар ключей - это просто больше работы для того же эффекта.

Единственный раз, когда я буду использовать разные ключи, - это разные учетные записи или разные роли, которые по определению не должны полностью перекрываться в доступе.

Если я правильно понимаю, каждый сервер будет иметь свой собственный открытый ключ.

Для данного пользователь, вы можете сгенерировать один ключ и использовать его везде, при условии, что закрытый ключ реплицируется на все инициирующие хосты. (Это произойдет автоматически через смонтированные в сети домашние каталоги и систему аутентификации на основе каталогов, такую ​​как OpenLDAP, поскольку пользователь всегда будет «одинаковым», независимо от того, с какой рабочей станции он входит.)

Я считаю, что за пределами пользовательской системы, основанной на каталогах, использование одних и тех же ключей повсюду - плохая идея - в итоге вы получите чистое снижение безопасности системы, поскольку любой, кто может получить ключ с любой из рабочих станций, может затем аутентифицироваться как этого пользователя на удаленный сервер.

Другая альтернатива, применяемая несколькими крупными корпорациями (и я уверен, что небольшие тоже) - никогда не позволять «пользователю» использовать предварительно общие ключи, а вместо этого входить в систему в поле «прыжок» или «концентратор». , su соответствующему подключающемуся пользователю, а затем по SSH оттуда на серверы, которыми он должен управлять.

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

Как говорили другие, хотя идея нескольких пар ключей может показаться более безопасной, если есть шанс, что они будут использоваться таким образом, что все они будут в одном месте, тогда это будет просто больше хлопот и не более безопасно. Множественные парольные фразы сделают его более безопасным, но также большая головная боль, пытаясь запомнить, какая парольная фраза соответствует какому ключу, а какой ключ соответствует какому серверу.

Для меня наиболее разумным ответом будет тот, в котором предлагалось делать это ТОЛЬКО в том случае, если это включает отдельные административные роли без особого дублирования. Так что это могут быть разные люди, выполняющие разные роли, или на разных рабочих станциях, или что-то еще. В этом случае у вас в любом случае есть более уникальные вещи для каждой роли, так что это более оправдано.

Чтобы упростить управление несколькими серверами с поддержкой SSH, вы можете проверить cssh. Вы можете комбинировать cssh с ключами SSH с парольной фразой, чтобы значительно расширить возможности одновременного управления несколькими серверами.