Безопасно ли загружать ваш открытый ключ openssh в ~/.ssh/ для данного пользователя?

Мне нравится загружать мой открытый ключ (например, ~/.ssh/id_rsa.pub) на различные серверы, к которым я подключаюсь в различных сетях для работы. Я использую этот же открытый ключ на github. Если я нахожусь в общей учетной записи пользователя и положил туда свой открытый ключ, может кто-то просто взять его и сделать с ним что-то неблагоприятное? Разве это не мудрая идея, чтобы просто иметь 1 открытый ключ, который вы разделяете между несколькими серверами?

2 ответа

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

Вот почему это называется "общественность".

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

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

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

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

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

Другие вопросы по тегам