Если вы хотите иметь SSH-логин на основе открытого ключа для нескольких машин, используете ли вы один закрытый ключ и ставите один и тот же открытый ключ на все машины? Или у вас есть одна пара секретных / открытых ключей для каждого соединения?
Если вы хотите иметь SSH-логин на основе открытого ключа для нескольких машин, используете ли вы один закрытый ключ и ставите один и тот же открытый ключ на все машины? Или у вас есть одна пара секретных / открытых ключей для каждого соединения?
Ответы:
Я использую один ключ на набор систем, которые имеют общую административную границу. Это ограничивает количество машин, которые извлекаются из строя при взломе ключа, при этом не полностью перегружая мою способность хранить и управлять несколькими тысячами ключей. Различные парольные фразы для каждого ключа означают, что даже если все ваши личные ключи украдены и один ключ будет взломан, остальные не пойдут в туалет с ним. Кроме того, если вы делаете что-то глупое (например, копируете закрытый ключ на ненадежный компьютер), вам снова не нужно переписывать все, только машины, связанные с этим ключом.
Открытый ключ не имеет большого значения, так как по определению его можно опубликовать. Так что единственной проблемой является конфиденциальность ваших личных ключей. Они на вашей собственной машине, и все вместе, поэтому, если кто-то скомпрометирован, вполне вероятно, что они все будут скомпрометированы. Поэтому несколько пар ключей - это просто больше работы для одного и того же эффекта.
Единственный раз, когда я использовал бы разные ключи, это для разных учетных записей или разных ролей, которые по определению не должны иметь полного перекрытия в доступе.
Если я правильно понимаю, у каждого сервера будет свой открытый ключ.
Для данного пользователя вы можете сгенерировать один ключ и использовать его везде, пока закрытый ключ реплицируется на все инициирующие хосты. (Это может происходить автоматически через сетевые домашние каталоги и систему аутентификации на основе каталогов, такую как OpenLDAP, поскольку пользователь всегда будет «одинаковым» независимо от того, с какой рабочей станции он входит в систему.)
Вне пользовательской системы, основанной на каталогах, я думаю, что это плохая идея - использовать везде одни и те же ключи - в результате вы получаете сетевое снижение безопасности системы, поскольку любой, кто может получить ключ от любой из рабочих станций, может затем аутентифицироваться как этот пользователь на удаленный сервер.
Еще одна альтернатива, используемая несколькими крупными корпорациями (и я уверен, что и маленькими), заключается в том, чтобы никогда не позволять «пользователю» использовать предварительно общие ключи, а вместо этого иметь возможность войти в окно «переход» или «концентратор». , su
соответствующему подключающемуся пользователю, а затем SSH оттуда к серверам, которыми они должны управлять.
Кроме того, если вы используете систему управления, такую как платформа HP Server Automation, удаленное администрирование управляемых серверов становится более упрощенным процессом.
su
сеанс записывается в журнал, его можно проверить.
su
сеансы могут быть проверены, а не другие?
Как уже говорили другие, хотя идея нескольких пар ключей может показаться более безопасной, если есть вероятность, что они будут использованы таким образом, что все они находятся в одном и том же месте, то это просто более хлопотно и не более безопасно. Многократные парольные фразы сделают его более безопасным, но также вызовут большую головную боль, пытаясь вспомнить, какая парольная фраза идет с каким ключом, а какая с каким сервером.
Наиболее разумным ответом для меня был бы тот, в котором предлагалось делать это ТОЛЬКО, если бы он включал отдельные административные роли без особых совпадений. Так, что это могут быть разные люди, выполняющие разные роли, или на разных рабочих станциях, или что-то еще. В этом случае у вас есть больше уникальных вещей для каждой отдельной роли, так что это более оправданно.
Для простоты управления несколькими SSH-совместимыми серверами вы можете проверить cssh . Вы можете комбинировать cssh с парольными SSH-ключами, чтобы значительно расширить возможности управления несколькими серверами одновременно.