Я настраиваю небольшой сервер OpenSSH, чтобы иметь доступ к важным файлам, не сидя прямо перед домашним компьютером. Я успешно настроил сервер, но теперь хочу настроить аутентификацию по ключу (чтобы его было немного сложнее взломать).
Я скопировал ключи из своей установки Lubuntu, скопировал их на свой компьютер с Windows и преобразовал их в .ppk
формат с помощьюпуттиген. В SSH -> Auth
разделе я выбрал свой RSA.ppk
файл ключа, сохранил настройки и вошел на сервер. Я ввожу свое имя пользователя, но затем после этого получаю вывод: Server refused our key
.
Я раскомментировал HostKey
строки для RSA
, ECDSA
, и ED25519
в моем sshd_config
. Я не знаю, что еще мне делать.
решение1
Используя PuTTYgen, я создал рандомизированную пару открытого/закрытого ключа и вставил текст из поля вывода в ~/.ssh/authorized_keys
файл. Аутентификация файла ключа работает отлично.
решение2
SSH использует два разных набора асимметричных (закрытых/открытых) ключей: один для аутентификации хоста/сервера для клиента(ов) и, опционально, другой для аутентификации клиента для хоста/сервера.
Конфигурация HostKey
в sshd_config
предназначена для ключей для хоста, а не для любого клиента. Директива в, sshd_config
которая включает аутентификацию открытого ключа для клиентов, это PubKeyAuthentication
, но вам не нужно указывать (или обычно раскомментировать) ее, поскольку она включена по умолчанию.
Он должен работать, и для меня это так, чтобы преобразовать сгенерированный OpenSSH ключ с помощью PuTTYgen и использовать его в PuTTY, как вы описали, ноТОЛЬКОесли он находится в ~/.ssh/authorized_keys
для соответствующего пользователя (*) -- это требуется для ЛЮБОГО клиентского ключа, независимо от того, где и как он был сгенерирован. Генерация ключа в одной системе Unix не добавляет его автоматически в authorized_keys
эту систему (поскольку вам обычно не нужен ssh для доступа к системе, в которой вы уже находитесь) или в любую другую систему (поскольку эта система не может знать, к каким другим системам вы можете захотеть получить доступ, включая, возможно, несколько лет в будущем). Вы упоминаете добавление authorized_keys
только для вашего нового ключа, сгенерированного PuTTYgen, а не для сгенерированного Unix и преобразованного PuTTYgen.
(*) или другое место, если указано AuthorizedKeysFile
в, sshd_config
но это редкость