RU 
Регистрация

хостинг: ValueHost 2.0
           

Помощь


Акции:

Бонус за друга!

SSH: авторизация по ключу

При частой необходимости открытия ssh-сессии иногда удобно упростить процесс подключения за счет исключения ввода пароля при подключении. В этом случае можно настроить авторизацию по ключу.

Делается это в два приема - на сервере и на локальной машине. В этом примере мы рассмотрим настройку такого подключения с машины под управлением ОС Windows


На сервере выполняем следующие действия:

  • Создаем файлы ключа:

#ssh-keygen2 -t rsa -b 1024 -f .ssh/auth_key_rsa_1042 -N ""

Опция -f задает имя файла. На разных версиях ssh-keygen эта опция может вести себя по-разному, поэтому в случае возникновения неожиданных сообщений рекомендуем убрать эту опцию из команды и использовать стандартное имя файла.

  • Прописываем созданный публичный ключ в список разрешенных для подключения:

#less .ssh/auth_key_rsa_1042.pub >> ~/.ssh/authorized_keys

На этом шаге мы разрешаем использование созданного ключа при авторизации. В зависимости от версии ПО, название файла может быть разным - например, может быть и такой файл: ~/.ssh2/authorization

  • Устанавливаем на созданную директорию права на доступ только владельцу

#chmod -R 700 .ssh

Этот шаг не является обязательным, однако некоторые версии ОС проверяют аттрибуты файлов ключей и не доверяют ключам с небезопасными атрибутами.

  • Копируем приватный ключ для использования его на локальной машине:

#less .ssh/auth_key_rsa_1042

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

  • Удаляем приватный ключ с сервера

#rm .ssh/auth_key_rsa_1042

Этот шаг нужен из соображений безопасности.

На локальной машине:

  • Сохраняем содержимое буфера обмена в текстовый файл.

Этот шаг выполняется, если ключ был скопирован через буфер обмена, а не по FTP.

  • Открываем PuttyGen, в меню "Conversions" выбираем пункт "Import". В открывшемся окне выбираем сохраненный ранее текстовый файл. Жмем кнопку "Save private key" и сохраняем ключ на машине в формате .ppk.

Связано это с тем, что Putty не воспринимает обычные ключи в формате OpenSSH, поэтому и требуется использовать конвертер  PuttyGen.

  • Открываем Putty, вводим адрес сервера в формате login@hostname. Затем идем во вкладку Connection -> SSH -> Auth, жмем кнопку "Browse" и указываем путь к сохраненному Private-ключу (.ppk).

Созданные настройки подключения удобно сохранить, как профиль.

  • Пробуем подключиться.

Если все сделано верно, то подключение откроется без запроса пароля.