Генерация SSH ключей с PuTTY и настройка авторизации по закрытому ключу SSH
1. В папке PuTTY Portable найдите файл puttygen.exe и запустите его.
2. «Тип
ключа для генерации» выберите SSH-2
RSA.
Длина
генерируемого ключа(в битах): введите 4096.
3. Нажмите кнопку Генерировать.
4. Хаотично перемещайте курсор мыши внутри окна программы.
5. Введите желаемый комментарий к созданным ключам, чтобы Вам было удобнее различать созданные ключевые пары в будущем.
6. Если Вы желаете (не обязательно), введите пароль для закрытого ключа.
Я Вам категорически рекомендую это сделать, для защиты закрытого ключа при попадании к сторонним лицам.
7. Сохраните открытый и личный (закрытый) ключ, не перепутайте ключи в будущем.
Рекомендую открытым ключам давать расширение .pub, а закрытым .ppk
8. Не закрываем окно программы генерации ключей PuTTY.
Подключаемся и авторизовываемся к своему серверу по протоколу 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 -> Аутентификация.
В поле с личным ключом для аутентификации указываем путь к Вашему личному ключу.
Также, в категории Соединение -> Данные, Имя пользователя для входа, если ранее не был указан Ваш логин, можете указать его здесь.
Сохраняем профиль и пытаемся авторизоваться уже с помощью закрытого ключа 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