SSH: авторизация по ключуПри частой необходимости открытия ssh-сессии иногда удобно упростить процесс подключения за счет исключения ввода пароля при подключении. В этом случае можно настроить авторизацию по ключу.
Делается это в два приема - на сервере и на локальной машине. В этом примере мы рассмотрим настройку такого подключения с машины под управлением ОС Windows
На сервере выполняем следующие действия:
1. Создаем файлы ключа:
ssh-keygen -t rsa -b 2048 -f ~/.ssh/auth_key_rsa_1042 -N ""
Опция -f задает имя файла. На разных версиях ssh-keygen эта опция может вести себя по-разному, поэтому в случае возникновения неожиданных сообщений рекомендуется убрать эту опцию из команды и использовать стандартное имя файла. Если ранее был создан ключ, может потребоваться подтвердить создание ключа, написать yes и нажать "Enter".
2. На этом шаге мы разрешаем использование созданного ключа при авторизации:
cat ~/.ssh/auth_key_rsa_1042.pub >> ~/.ssh/authorized_keys
В зависимости от версии ПО, название файла может быть разным — например, может быть и такой файл: ~/.ssh2/authorized_keys.
3. Устанавливаем права только на владельца:
chmod -R 700 ~/.ssh
Этот шаг не является обязательным, однако некоторые версии ОС проверяют атрибуты файлов ключей и не доверяют ключам с небезопасными атрибутами.
4. Копируем приватный ключ для использования его на локальной машине:
cat ~/.ssh/auth_key_rsa_1042
5. Удаляем приватный ключ с сервера:
rm ~/.ssh/auth_key_rsa_1042
Этот шаг нужен из соображений безопасности.
На локальной машине:
1. Сохраняем содержимое буфера обмена в текстовый файл.
Этот шаг выполняется, если ключ был скопирован через буфер обмена, а не по FTP.
2. Открываем PuttyGen, в меню "Conversions" выбираем пункт "Import". В открывшемся окне выбираем сохраненный ранее текстовый файл. Жмем кнопку "Save private key" и сохраняем ключ на машине в формате .ppk.
Связано это с тем, что Putty не воспринимает обычные ключи в формате OpenSSH, поэтому и требуется использовать конвертер PuttyGen.
3. Открываем Putty, вводим адрес сервера в формате login@hostname. Затем идем во вкладку Connection -> SSH -> Auth -> Credentials , жмем кнопку "Browse" и указываем путь к сохраненному Private-ключу (.ppk).
4. Созданные настройки подключения удобно сохранить, как профиль.
5. Пробуем подключиться.
Если все сделано верно, то подключение откроется без запроса пароля.
|