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

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

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

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

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

Все теперь Ваш SSH надежно защищен от bruteforce-атаки, неплохо бы также еще настроить iptables, но об этом мы поговорим как-нибудь в другой раз.

From https://lode.in/administration/generatsiya-ssh-klyuchej-s-putty-i-nastrojka-avtorizatsii-po-zakry-tomu-klyuchu-ssh.html

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *