SSH: Безопасный для клиента разместить секретный ключ RSA?

Действительно ли безопасно генерировать пару "открытый/закрытый ключ" на сервере, добавить открытый ключ к списку authorized_keys и затем скопировать закрытый ключ в каждый клиент, как описано здесь (http://www.rebol.com/docs/ssh-auto-login.html), Принимающий Вас, обеспечивают постоянный контроль над каждым клиентом? (т.е. тот же пользователь, много компьютеров).

Типичная процедура должна генерировать пару "открытый/закрытый ключ" на клиенте и затем добавить открытый ключ клиента к списку authorized_keys на сервере, как описано здесь (http://www.linuxproblem.org/art_9.html). С этим методом, если у Вас есть несколько клиентских компьютеров, каждый очень должен быть связан к списку authorized_keys и сохраняться со временем.

10
задан 27 March 2015 в 01:49
2 ответа

Самая большая проблема с протоколом, описанным в этом руководстве, заключается в том, что он не указывает, как вы «загружаете закрытый ключ на клиентский компьютер» безопасным способом (т. Е. Предотвращающим перехват) . Если у вас еще нет безопасного канала, вероятно, ключ будет передан в открытом виде через Интернет (HTTP, FTP, электронная почта и т. Д.). Вы можете использовать HTTPS, но если у вас нет настоящего сертификата, его можно использовать MITM, чтобы обнюхать ключ. Просто делай это так, как тебе положено; сгенерируйте пару ключей на клиентском компьютере, передайте открытый ключ на сервер и не забудьте проверить контрольную сумму файла, чтобы убедиться, что он не был изменен при передаче.

3
ответ дан 2 December 2019 в 22:00

Поздравляю, вы нашли в Интернете руководство с плохими советами.

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

Что касается этого руководства, то создание пары ключей на сервере и копирование закрытый ключ к клиенту . Это совсем наоборот. Вместо этого пара ключей должна быть создана на клиенте , а открытый ключ скопирован на сервер. Существует даже вспомогательный скрипт ssh-copy-id , который делает именно это и попутно проверяет правильность всех разрешений, клиент получает ключ хоста сервера и т. Д.

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

22
ответ дан 2 December 2019 в 22:00

Теги

Похожие вопросы