[Решено] Авторизация по открытому ключу PuTTY

Автор mexx, 24 августа 2014, 23:11:59

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

mexx

Не совсем правильный вопрос, наверное, но попробую.
Домашняя сеть. Сервер под Debian7 На нем поднят ssh
Локальный компьютер под Windows7 + Debian7 По паролю захожу с него по ssh на сервер без проблем. Для Windows использую PuTTY.
Потребовалась авторизация по открытым ключам без ввода пароля.  Локальный компьютер под Debian подружил с сервером сразу. А вот если тот же компьютер загрузить под Windows - не получается. Создал PuTTYgen пару ключей и сохранил их. Публичный скопировал на сервер (в домашний каталог "под кем захожу") и потом добавил его там же в authorized_keys Путь к приватному прописал в настройках сессии PuTTY и сохранил. Не пускает, говорит:
Server refused our key
Что я делаю не так?
Debian 10 KDE
Debian 11 Gnome

mexx

Судя по всему, я здесь единственный кто не знал, что форматы ключей PuTTY и OpenSSH разные. После конвертации все работает. Вопрос снят.
Debian 10 KDE
Debian 11 Gnome

qupl

mexx, раз уж тема есть, то опишите использованные ключи и пометьте тему решенной.

mexx

#3
Цитата: qupl от 26 августа 2014, 21:34:22mexx, раз уж тема есть, то опишите использованные ключи
ОК. Только я ни разу не IT, поэтому своими словами. Да и ключей там нет особо.
Сервер (куда заходим) под Debian (там запущен и настроен на работу по паролю + по RSA-ключами openssh-server).
Локальный компьютер (откуда заходим) под Windows (там установлена PuTTY).
Как выяснилось, форматы RSA ключей, генерируемых OpenSSH и PuTTY, немного отличаются и потому друг друга не воспринимают.
Зашел на сервер по ssh по паролю и сгенерировал там OpenSSH RSA ключ с дефолтными параметрами:
$ ssh-keygen -t rsa
В итоге на сервере в ~/.ssh появились файлы ключа id_rsa.pub (открытый, публичный) и id_rsa (закрытый, личный, приватный).
Содержимое открытого ключа ~/.ssh/id_rsa.pub скопировал в ~/.ssh/authorized_keys
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Файл с закрытым ключом ~/.ssh/id_rsa скопировал на локальную машину под Windows (я воспользовался флешкой, но можно установить WinSCP).
На локальной машине запустил PuTTYgen из пакета PuTTY.
В меню "Конвертация -> Импортировать ключ" выбрал и открыл полученный файл id_rsa и после этого сохранил этот ключ как "Личный ключ" в формате PuTTY *.ppk Затем добавил этот *.ppk в настройки нужной сессии PuTTY и соединился уже по ключу, после чего аутентификацию по паролю можно отключить. Последний штрих - запускаем Pageant из пакета PuTTY и ПКМ по значку в трее "Добавить ключ" добавляем свой *.ppk - очень удобно + автоматически поддерживает WinSCP. Собственно всё.
Можно сделать совсем просто - сгенерировать ключ PuTTY и отредактировать его текстовым редактором, чтобы ключ был указан в одну длинную строку, типа:
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx username@host
* username@host - не обязательно, можно вообще убрать, просто подсказка.

Цитата: qupl от 26 августа 2014, 21:34:22и пометьте тему решенной
Вот это не понял как сделать :(
Debian 10 KDE
Debian 11 Gnome

qupl

Спасибо.
Цитата: mexx от 27 августа 2014, 01:35:41Вот это не понял как сделать
Отредактировать первое сообщение темы, исправив его заголовок. Добавьте впереди [Решено].