2

Я установил sshd на сервере Linux и смог войти через ключи, сгенерированные с помощью ssh-keygen . Однако я сделал следующее наблюдение: когда я генерирую пару ключей на клиенте и копирую открытый ключ на сервер, все работает нормально. Но когда я генерирую пару ключей на сервере и копирую закрытый ключ клиенту, я не могу войти в систему. Кто-нибудь может объяснить мне, если и почему ключи должны быть созданы на клиенте?

2 ответа2

2

Ключи не нужно создавать на клиенте. Ключи даже не нужно создавать с одной и той же ОС. Если вы используете правильные инструменты, вы можете преобразовать ключ, сгенерированный из генератора ключей Putty, в ключ формата OpenSSH.

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

В зависимости от того, как вы передали закрытый ключ клиенту, права доступа к ключу могут отличаться от сервера и могут быть неправильными. Закрытый ключ всегда должен быть 0600 или -rw------- .

Вы увидите предупреждение об этом на клиенте, если вы передадите опцию -v в ssh при подключении. Он будет жаловаться на разрешения на закрытый ключ или, возможно, на каталог, содержащий закрытый ключ.

1

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

Пожалуйста, прочитайте следующее руководство.

Также это может помочь. И, скорее всего, этот.

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