Этот вопрос на самом деле три отдельных вопроса.
Вопрос 1:
Можно ли использовать одну и ту же пару ключей для доступа SSH к двум или более серверам?
Ответ 1:
Да, это возможно, многие люди (включая себя) делают это регулярно. Нет причин, по которым он каким-либо образом ограничивается одним сервером. Мы предполагаем, что вы говорите о клиентских парах ключей, а не о сертификатах сервера. Пара ключей клиента аутентифицирует клиента, то есть компьютер, пытающийся получить доступ к сеансу SSH. Вы можете определенно использовать свою пару ключей клиента, и один сервер не будет мудрее, если ваша пара ключей будет использоваться на других серверах.
Вопрос 2:
Рекомендуется использовать одну и ту же пару ключей для доступа SSH к двум или более серверам?
Ответ 2:
Зависит от того, кого вы спрашиваете, и насколько точен ваш план безопасности. Есть дополнительные риски использования одной пары ключей для двух или более удаленных хостов. Эти риски превышают номинальные риски использования пары ключей для одного хоста.
Любой, кто получит ваш закрытый ключ (а также парольную фразу, если применимо), сможет получить доступ ко всем системам, которые аутентифицируются вашим личным ключом. Затем проблема переходит к злоумышленнику, зная имена хостов всех серверов, на которых аутентифицирован ваш закрытый ключ, и учетные записи пользователей на каждом из тех хостов, которые считают ваш открытый ключ авторизованным ключом. Это увеличивает потенциальный ущерб , который может быть сделано в том случае, если украден ваш закрытый ключ.
Обратите внимание, что это не риск аутентификации, если кто-то получает только ваш открытый ключ: несмотря на все ваши заботы, вы также можете разместить свой открытый ключ SSH на своей домашней странице. Вы можете даже безопасно разместить его здесь в своем вопросе только для ударов и хихиканья, абсолютно без последствий для безопасности. Это называется публичным по причине.
Если у вас есть основания подозревать, что ваш закрытый ключ совсем не защищен, и вы опасаетесь, что ущерб будет значительно больше, если обе системы будут скомпрометированы, тогда вы можете создать два закрытых ключа. Но если вы храните оба секретных ключа в одной и той же системе, и они либо не имеют парольной фразы, либо ту же самую парольную фразу, либо сами парольные фразы хранятся где-то (лист бумаги, LastPass и т.д.) В одном и том же месте, то есть два отдельных keypairs фактически не добавляет никакой безопасности. Но если вы используете полное шифрование диска и имеете хорошо защищенную клиентскую систему, то риск кражи вашего личного ключа и ключевой фразы будет относительно низким.
Кстати, если вы используете закрытые ключи без каких-либо паролей, то лучше не делать в своих системах ничего более чем несколько долларов. Если вы ведете какой-либо официальный бизнес, коммерческий или иной, по моему мнению, абсолютно необходимо использовать надежный, уникальный пароль, который нигде не записан, для закрытого ключа, который получает доступ к любой системе ценностей. Если вы имеете дело с личной информацией клиентов (номерами кредитных карт и т.д.), Сделайте это "абсолютно необходимым" там шрифтом 72 пт и в 10 раз смелее. Если вы имеете дело с секретной информацией правительства, сделайте это "абсолютно необходимым" шрифтом 5000 pt и смелостью в 5000 раз.
Вопрос 3:
Почему не работает аутентификация моего открытого ключа?
Ответ 3:
Это зависит от вашей конкретной настройки. Вы не дали нам никаких конкретных подробностей о том, почему это не работает. Нам нужна конкретика. Сообщения об ошибках, подробные журналы (но без паролей, имен пользователей и IP-адресов!), А также список программного обеспечения и версий, которые вы используете как для клиента SSH, так и для сервера SSH, а также для операционной системы и версии обеих систем.
Однако я сильно подозреваю, что одна из причин, по которой он не работает, заключается в том, что вы используете неправильный файл в одной из систем. known_keys
не для аутентификации с открытым ключом; клиент SSH (клиент, на котором находится файл known_keys
) должен кэшировать открытые ключи серверов, к которым он подключается. Вы должны использовать authorized_keys
в обеих системах. (Престижность другому человеку, отвечающему на ваш вопрос за публикацию этого факта за несколько секунд до меня :))