4

У меня есть два сайта. Один сайт является клоном другого сайта. Когда я проверил sshd_config на обоих сайтах, они в точности совпадают, за исключением того, что один использует authorized_keys ключи в качестве идентификатора, а другой использует Known_keys в качестве идентификации, я надеюсь, что это не проблема, так как путь определяется соответственно с указанием местоположения и файла Название открытого ключа.

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

Я пропускаю некоторую информацию? Или это невозможно?

2 ответа2

10

Этот вопрос на самом деле три отдельных вопроса.

Вопрос 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 в обеих системах. (Престижность другому человеку, отвечающему на ваш вопрос за публикацию этого факта за несколько секунд до меня :))

8

known_keys и authorized_keys это совершенно разные вещи.

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

known_keys - это файл, в котором хранится отпечаток удаленного сервера, поэтому вы знаете, что если вы попытаетесь подключиться туда снова, это действительно тот сервер, который вы ожидаете. Это делается для предотвращения атак «человек посередине», когда кто-то может подделать имя хоста или IP-адрес удаленного сервера, чтобы украсть информацию, которую вы можете предоставить, думая, что вы подключены к правильному. Этот файл автоматически создается или обновляется, когда вы пытаетесь подключиться к чему-то новому, поэтому обратите внимание, что он связан с работой SSH в качестве клиента. Если вы видите этот файл на своем сервере, вы, вероятно, пытаетесь подключиться к нему где-то еще.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .