107

Итак, мы все знаем, как использовать открытый ключ / закрытый ключ, используя SSH и т.д. Но как лучше всего их использовать / использовать повторно? Должен ли я держать их в безопасном месте навсегда? Я имею в виду, мне нужна была пара ключей для доступа к GitHub. Я создал пару с нуля и использовал ее в течение некоторого времени для доступа к GitHub. Затем я отформатировал свой жесткий диск и потерял эту пару. Большое дело, я создал новую пару и настроил GitHub для использования моей новой пары. Или это то, что я не хочу потерять?

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

5 ответов5

83

У вас обязательно должны быть отдельные закрытые ключи для каждого источника. По сути это означает, что обычно должна быть одна копия каждого закрытого ключа (не считая резервных копий). Можно использовать один и тот же закрытый ключ от тесно связанной машины в ситуациях, когда взлом одной дает вам доступ к другой (например, если они находятся в shosts.equiv друг друга). Не используйте один и тот же закрытый ключ на машинах в разных сферах (например, дома и на работе), никогда не разделяйте закрытый ключ между двумя пользователями и никогда не делите закрытый ключ между ноутбуком и любой другой машиной.

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

Если вы следуете этим принципам, каждая пара ключей идентифицирует одну пару (машина, пользователь), что упрощает управление авторизацией.

Я могу придумать два исключения из общего правила одного закрытого ключа для источника:

  • Если у вас есть пароль без пароля, который дает доступ только к определенной команде на определенном компьютере (например, механизм автоматического резервного копирования или уведомления), этот ключ должен отличаться от общего ключа доступа оболочки.
  • Если некоторые машины периодически подключаются, у вас может быть старый закрытый ключ вместе с новым закрытым ключом, пока вы не сможете закончить развертывание нового ключа.
4

Я не знаю, как лучше, но я могу сказать, какой у меня путь.

Как системный администратор я использую разные ключи для доступа к каждому серверу / службе от имени пользователя root. Таким образом, если ключ утерян или скомпрометирован, я ограничиваю риск одним сервером, и мне не нужно обновлять все мои службы новыми ключами.

Говоря о пользователях, я использую разные ключи для каждого из них. С помощью этого ключа пользователь может получить доступ к услуге, которая ему нужна как непривилегированный пользователь. Таким образом, я могу легко предоставить или отменить доступ к отдельным службам для каждого пользователя. Если пользователь потеряет свой ключ, я могу удалить его из всех сервисов и ограничить риск несанкционированного доступа.

1

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

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

0

В моей компании мы используем эти ключи для каждого конкретного пользователя. Это означает второй случай. У пользователя есть свой собственный ключ, и он используется для каждой машины, которую он использует для подключения к системе компании. Мое мнение - использовать один ключ для одной системы. Это означает, что вы используете этот ключ на каждом компьютере, который вам нужен для подключения к конкретным сетям. Для вашего случая это будет один ключ для GitHub и один ключ для системы компании. Так что, если ваш админ спросит вас снова, я бы дал ему тот же ключ, что и в прошлый раз. не новый. Но я не знаю, существует ли общая политика использования этих ключей, и с тех пор я делаю это неправильно. Это конечно возможно ;-)

0

Сгенерированный вами открытый ключ предназначен для всех. Это позволит им а) проверить подлинность б) зашифровать для вас

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

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

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