1

Я пытаюсь подключиться из Windows 7 к Linux Server с использованием аутентификации на основе ключей. Для этого я создал пару открытых / закрытых ключей с помощью инструмента PuTTY keygen и скопировал содержимое открытого ключа в файл сервера .ssh/authorized_keys . Когда я использую командную строку ssh из моей ОС Windows и набираю: ssh user@server он запрашивает пароль, который не должен произойти, потому что он должен прочитать закрытый ключ из моей папки .ssh :

нажмите, чтобы увидеть изображение

Когда я использую PuTTY и указываю закрытый ключ, я также получаю следующее сообщение:

нажмите, чтобы увидеть изображение

Моя пара ключей в моей ОС Windows находится в папке моей учетной записи, под .ssh:

нажмите, чтобы увидеть изображение

И на сервере Linux, открытый ключ в файле authorized_keys в папке ~/.ssh

нажмите, чтобы увидеть изображение

И мой открытый ключ такой:

нажмите, чтобы увидеть изображение

Я не знаю, что случилось со всем этим.

1 ответ1

0

Ваш редактор показывает [noeol] во время просмотра открытого ключа в файле authorized_keys - это может быть проблемой. Добавьте отсутствующий символ конца строки.

Защищен ли файл authorized_keys на сервере Linux , так что другие пользователи сервера не могут изменить его? Если нет, то sshd просто проигнорирует это. Более конкретно, файл authorized_keys то .ssh подкаталог и домашний каталог пользователя все должны быть доступны для записи только самим пользователем.

Если эти советы не решат проблему, проверьте журнал аутентификации сервера. В Linux это обычно будет либо /var/log/secure либо /var/log/auth.log зависимости от дистрибутива. sshd демон зарегистрирует там сообщение об ошибке , если он не может прочитать файл authorized_key или игнорирует его по какой - то причине - и сообщение об ошибке будет включать причину.

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