Как подключиться к Linux из Windows через аутентификацию на основе ключа SSH?


1

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

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

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

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

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

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

А на сервере Linux открытый ключ находится внутри authorized_keysфайла в ~/.sshпапке:

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

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

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

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

Ответы:


0

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

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

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


ssh -v(или даже ssh -vv) расскажет вам больше о том, что происходит, когда вы
входите

Но он не скажет вам, почему sshd отказывается от ключа. Эта информация содержится только в журнале сервера.
TelcoM

Спасибо @telcoM, я изменил права доступа к папке / home / eoecm01. Теперь у меня есть сообщение о том, что мои закрытые ключи слишком открыты из папки Windows (0644), когда я проверяю свой закрытый ключ с помощью Cygwin64, он имеет 700 разрешений. Это использует утилиту ssh. При использовании шпатлевки работает нормально. Спасибо за помощь
user2128078
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.