Авторизация по ключам

Для того что бы не вводить пароль каждый раз при соединении с сервером хостинга, можно заменить авторизацию по паролю, авторизацией по ключам.

Для организации авторизации с помощью ключей необходимо запустить PuTTYgen (входит в инсталлятор PuTTY или доступен отдельно по адресу http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html), выбрать тип ключа SSH-2 RSA и нажать кнопку Generate:

 

После нажатия кнопки Generate, для генерации случайных событий участвующих в создании ключа,  производите движения мышью в окне PuTTYgen до заполнения индикатора прогресса:

 

После этого будет сгенерирована пара ключей необходимая для дальнейшей работы, Вы можете указать комментарий в поле Key comment для более простой идентификации владельца ключа

Далее необходимо сохранить файлы публичного(предназначен для передачи на сервер) и приватного ключа(хранится на Вашем компьютере и предназначен для сверки подлинности). Для этого нужно выбрать Save public key и указать имя public.pub

Save private key и private.ppk соответсвенно.

Следующим шагом будет загрузка файла публичного ключа public.pub в корень Вашей домашней папки с помощью любого FTP клиента.

Далее следует войти по SSH на сервер с использованием пароля, как это описано в данном руководстве http://drupalhosting.ru/docs/работа-с-ssh-клиентом и выполнить следующие команды:

  1. проверить существует ли в домашнем каталоге папка настроек SSH: cd ~ && ls -la | grep .ssh
  2. если папки не существует (команда из п.1 ничего не вывела) необходимо создать ее: cd ~ && mkdir .ssh
  3. установить на папку необходимые для работы SSH права доступа: cd ~ && chmod 700 .ssh
  4. импортировать закачанный ранее через FTP файл публичного ключа: ssh-keygen -i -f ~/public.pub >> ~/.ssh/authorized_keys2
  5. установить на файл authorized_keys2 правильные права доступа cd ~ && chmod 600 .ssh/authorized_keys2
  6. завершить сеанс SSH: exit

Настройка сервера таким образом завершена. Для настройки клиента нужно запустить  PuTTY и загрузить ранее сохраненную сессию выбрав ее в поле Saved Sessions и нажав кнопку Load

Для настройки параметров аутентификации SSH с использованием ключей нужно выбрать в меню слева SSH и после Auth:

В поле Private key file for authentification: нужно с помощью кнопки Browse указать путь к файлу приватного ключа private.ppk сохраненного ранее.

Таким образом, мы укажем, что для аутентификации нужно использовать файл приватного ключа. Также необходимо настроить автоматическую передачу имени пользователя. Для этого в меню слева нужно выбрать Data и в поле Auto-login username ввести имя пользователя

Для сохранения изменений текущей сессии выберите Session и нажмите Save.

При подключении к серверу авторизация произойдет автоматически с использованием ключей, об этом сообщит сервер в приветствии:

 

Перенос/бекап сохраненных настроек PuTTY на другой компьютер.

SSH клиент PuTTY хранит настройки(в том числе и сессии) в реестре Windows в ветке HKEY_CURRENT_USER\Software\SimonTatham

Для сохранения данных настроек в файл вызовите следующую команду в Пуск-Выполнить:

REG EXPORT HKCU\Software\SimonTatham путь_и_имя_сохраняемого_файла.reg

Для загрузки сохраненных настроек достаточно запустить сохраненный reg файл двойным щелчком мыши и согласиться на добавление данных в реестр.

Обратите внимание, что при переносе на другой компьютер вместе с настройками необходимо переносить и файлы публичного и приватного ключей, а так же править путь к приватному ключу в SSH-Auth

Комментарии (2)

polesoft #
1 год 13 недель назад
старейшина

Исправьте, пожалуйста, генерацию ключей DSA на RSA:
http://archlinux.org.ru/forum/topic/15088/

droman #
1 год 13 недель назад
сисадмин

Здравствуйте.

Спасибо за замечание. Исправил скриншоты и текст.

С уважением, Роман Дежин.