Вернуться назад

Генерация SSH ключей с PuTTY и настройка авторизации по закрытому ключу SSH

1. В папке PuTTY Portable найдите файл puttygen.exe и запустите его.

2. «Тип ключа для генерации» выберите SSH-2 RSA.
Длина генерируемого ключа(в битах): введите 4096.

3. Нажмите кнопку Генерировать.

4. Хаотично перемещайте курсор мыши внутри окна программы.

5. Введите желаемый комментарий к созданным ключам, чтобы Вам было удобнее различать созданные ключевые пары в будущем.

6. Если Вы желаете (не обязательно), введите пароль для закрытого ключа.

Я Вам категорически рекомендую это сделать, для защиты закрытого ключа при попадании к сторонним лицам.

7. Сохраните открытый и личный (закрытый) ключ, не перепутайте ключи в будущем.

Рекомендую открытым ключам давать расширение .pub, а закрытым .ppk

8. Не закрываем окно программы генерации ключей PuTTY.

puttygen

Подключаемся и авторизовываемся к своему серверу по протоколу SSH с помощью PuTTY (файл в папкеPuTTY_portable.exe).

Вводим следующие команды для создания директории .ssh и файла ключа authorized_keys:

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

Окрывам в редакторе файл ключа authorized_keys командой:

vi ~/.ssh/authorized_keys

Переключаемся на ранее открытое окно программы Генератор ключей PuTTY и в секции Открытый ключ вставки в файл authorized_keys формата OpenSSH (см. скриншот) выделяем все содержимое и копируем в созданный файл authorized_keys на сервере.

Для вставки ключа в файл authorized_keys нажмите клавишу i на клавиатуре, затем вставьте скопированный ключ правой кнопкой мыши в PuTTY, нажмите ESC. Для сохранения и выхода нажмите :wq

Важно. Открытый ключ для вставки в authorized_keys обязательно должен быть в формате OpenSSH (начинаться с ssh-rsa AAAA…).

Далее выходим с сервера и приступаем к настройки самого клиента SSH PuTTY для авторизации по закрытому ключу.

Запускаем PuTTY (файл в папке PuTTY_portable.exe), вводите в поле Имя хоста Ваш хост или IP-адрес,порт, если у Вас отличается от стандартного 22.

Далее переходим в дереве настроек в категорию Соединение -> SSH -> Аутентификация.

В поле с личным ключом для аутентификации указываем путь к Вашему личному ключу.

PuTTY

Также, в категории Соединение -> Данные, Имя пользователя для входа, если ранее не был указан Ваш логин, можете указать его здесь.

Сохраняем профиль и пытаемся авторизоваться уже с помощью закрытого ключа SSH. Если Вы указали при создании закрытого ключа пароль, введите его при подключении к серверу.

Далее приступаем к настройки деймона SSH для запрета авторизации по паролю, разрешив только авторизацию по закрытому ключу SSH. Вводим команду:

vi /etc/ssh/sshd_config

Далее изменяем следующие значения:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
RhostsRSAAuthentication no
HostbasedAuthentication no
UseLogin no
PasswordAuthentication no
UsePAM no

где PubkeyAuthentication — разрешить аутентификацию по открытому ключу;
AuthorizedKeysFile — путь к файлу с открытыми ключами для аутентификации;
RhostsRSAAuthentication — разрешить аутентификацию по файлам rhosts;
HostbasedAuthentication — использовать HostBased аутентификацию;
UseLogin — использовать login для интерактивного входа в систему;
PasswordAuthentication — разрешить аутентификацию по паролю;
UsePAM — включить дополнительные, подключаемые модули аутентификации.

Сохраняем новую конфигурацию sshd_config (клавиши :wq) и перезагружаем сервис sshd командой:

service sshd restart


igel
Дата: 25 января 2019 г. в 00:56:59

Автор: igel