Назад | Перейти на главную страницу

Каков хороший и безопасный способ обмена ssh-keypairs?

У меня есть несколько пар ключей, которые используются в качестве аутентификации для ssh на моих серверах в облаке Amazon. Я меняю эти сертификаты еженедельно вручную. Мой вопрос: мне нужно поделиться сертификатами с некоторыми коллегами, несколькими в локальной сети и несколькими в другой части страны. Как лучше всего поделиться сертификатом? Моими первоначальными мыслями были Dropbox и электронная почта. Мы не размещаем выделенные почтовые серверы с шифрованием и всем остальным, и у нас нет VPN.

Спасибо.

Я сомневаюсь, что ты действительно используешь сертификаты для аутентификации. Почти вся SSH-аутентификация, не основанная на пароле, выполняется с парами открытого и закрытого ключей, но без участия сертификатов. Перед написанием этого ответа я набрал в Google "сертификаты ssh", и первые 5 обращений были получены от идиотов, ошибочно ссылающихся на голые открытые ключи (не сертификаты) как на сертификаты.

Вот как работает SSH-аутентификация с использованием пар открытого и закрытого ключей:

Сначала вы создаете пару ключей. Это два криптографически связанных ключа, где все, что зашифровано одним ключом, может быть расшифровано только другим, и наоборот. Один из двух ключей в паре считается открытым ключом, и вам все равно, кто его видит. Фактически, в большинстве случаев вы ХОТИТЕ, чтобы ваш открытый ключ был опубликован во всем мире. Другой ключ считается закрытым, и вы не хотите, чтобы кто-либо, кроме вас, получил доступ к вашему закрытому ключу.

В случае аутентификации SSH с помощью пары открытый-закрытый ключ вы помещаете свой открытый ключ в файл authorized_keys в своей учетной записи на сервере (в данном случае в вашем экземпляре Amazon EC2), и сервер позволяет любому, кто знает частный ключ, связанный с этим открытым ключом для входа на сервер.

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

Вам нужно только изменить свои открытые ключи SSH в инстансе Amazon EC2, когда ваш закрытый ключ (на вашем собственном клиентском компьютере SSH дома или на работе) будет взломан.

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

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

Для некоторой предыстории, проверьте Вот.