3

У меня есть клиент, предоставляющий мне свой собственный ключ id_rsa.pub, он хочет, чтобы я настроил SSH-сервер, чтобы он мог отправлять мне файлы. Насколько я понимаю, когда я настраиваю свой SSH-сервер (freesshd в Windows), мне нужен закрытый ключ, который будет отпечатком моего сервера. Затем, используя предоставленный закрытый ключ или создав новый закрытый ключ, я могу сгенерировать открытый ключ, который я свяжу с учетной записью пользователя, что позволит моему клиенту использовать этот открытый ключ для входа без комбо user/pass.

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

Я прав или есть способ использовать существующий открытый ключ для настройки SSH-сервера, если этот ключ не был сгенерирован из закрытого ключа указанного сервера? Спасибо всем!

1 ответ1

5

У вашего клиента есть как закрытый ключ (обычно он называется id_rsa), так и открытый ключ (обычно он называется id_rsa.pub).

Если он посылает вам свой открытый ключ id_rsa.pub - который просто oneline текстового файла и добавить содержимое этого файла в authorized_keys на сервере (в его учетной записи директории .ssh то этот клиент может SSH без пароля. Простого факта, что его клиент имеет доступ к своему закрытому ключу (id_rsa), достаточно для ssh, чтобы установить соединение без пароля. Но это также причина, по которой закрытый ключ должен храниться очень тщательно и никогда не передаваться никому (включая вас, владельца сервера). Открытый ключ, с другой стороны, прекрасно подходит для показа и отправки кому угодно - он бесполезен без доступа к закрытому ключу.

Также (по крайней мере, в Linux) ssh имеет определенные правила, касающиеся разрешений для файлов id_rsa , id_rsa.pub и authorized_keys . Например, он откажется работать, если разрешения на закрытый ключ и авторизованные ключи недостаточно строгие (что-то вроде 0600 - должны действовать только пользовательские).

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