Авторизация SSH по ключу в Linux
- Recluse
- 25.09.2014
- 13 194
- 0
- 04.02.2024
- 3
- 3
- 0
- Содержание статьи
SSH авторизация по ключу - наиболее безопасный способ авторизации, значительно превосходящий по безопасности обычный метод авторизации по паролю. В этой небольшой статье, мы разберем, как реализовать авторизацию по SSH ключу на удаленном сервере под управлением операционной системы семейства Linux.
Генерация ключа в Linux
Генерация ключа запускается следующей командой:
ssh-keygen -t rsa -b 2048
-t rsa - тип шифрования;
-b 2048 - длина ключа;
если нужно сгенерировать ключ под другого пользователя, то необходимо воспользоваться командой su:
su ЛОГИН
очевидно, ЛОГИН необходимо заменить на имя нужного пользователя.
И уже затем воспользоваться командой для генерации ключей.
При генерации ключа вам будет задано несколько вопросов:
Enter file in which to save the key (/home/user/.ssh/id_rsa) - если нет необходимости сохранять в другое место сгенерированные файлы ключей, то оставляем без ответа;
Enter passphrase (empty for no passphrase): - если хотим защитить наш файл ключа паролем (пароль именно на клиентский ключ!), если же хотим сделать файл ключа без пароля, то оставляем без ответа. ВАЖНО - ВОССТАНОВИТЬ ЗАБЫТЫЙ ПАРОЛЬ НЕВОЗМОЖНО;
Enter same passphrase again: - повторяем пароль;
После конца генерации, появляется два ключа:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
id_rsa - приватный ключ пользователя;
id_rsa.pub - публичный ключ сервера;
В файле /etc/ssh/sshd_config проверяем:
Разрешаем использование RSA ключей:
RSAAuthentication yes
Разрешаем авторизацию при помощи ключей:
PubkeyAuthentication yes
Путь где будут находиться ключи, с которыми можно соединяться:
AuthorizedKeysFile %h/.ssh/authorized_keys
Потом идем в директорию пользователя:
cd ~/.ssh/
и записываем авторизованные ключи
cat id_rsa.pub >> authorized_keys
Копируем себе файл id_rsa, и удаляем его на сервере. Так же удаляем и id_rsa.pub.
Авторизация из Windows
Теперь для авторизации в Windows с помощью ключа, скопированного ранее с сервера, нужно воспользоваться утилитой PuTTYGen (идет в комплекте с PuTTY), которая сконвертирует ключ в понятный PuTTY формат.
Conversion - Import key
При желании можем написать комментарий в поле "Key comment", а так же добавить пароль, написав его в "Key passphrase".
Далее жмем "Save private key".
Для авторизации по ключу, в PuTTY/KiTTY нужно проделать следующее:
Connection - data - autologin username = имя пользователя
Connection - data - ssh - auth - указываем файл ключа
Если соединение с ssh сервером проходит успешно, то следует отключить возможность захода с помощью авторизации по логину/паролю. В конфиге /etc/ssh/sshd_config меняем значение параметров "PasswordAuthentication" и "PermitEmptyPasswords" на "no"
PasswordAuthentication no
PermitEmptyPasswords no
Перезапускаем службу
/etc/init.d/ssh restart
Добавить комментарий