Создание ключей SSH в Windows с помощью PuTTYgen

Secure Shell (SSH) — это криптографический сетевой протокол, используемый для безопасного соединения между клиентом и сервером и поддерживающий различные механизмы аутентификации.

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

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

Скачивание PuTTYgen

PuTTYgen — это утилита с открытым исходным кодом, которая позволяет генерировать ключи SSH для самого популярного клиента Windows SSH PuTTY .

PuTTYgen доступен как отдельный исполняемый файл, а также является частью установочного пакета PuTTY .msi. Если у вас не установлен PuTTYgen, перейдите на страницу загрузки PuTTY и загрузите установочный пакет PuTTY. Установка проста, дважды щелкните установочный пакет и следуйте инструкциям.

Создание ключей SSH с помощью PuTTYgen

Чтобы сгенерировать пару ключей SSH в Windows с помощью PuTTYgen, выполните следующие действия:

  1. Запустите PuTTYgen, дважды щелкнув его файл «.exe» или выбрав в Windows меню «Пуск» → PuTTY (64-разрядная версия) → PuTTYgen.

    Запустите инструмент PuTTYgen

    В блоке «Тип ключа для генерации» оставьте RSA по умолчанию. В поле «Число бит в сгенерированном ключе» оставьте значение по умолчанию 2048, которого достаточно для большинства случаев использования. При желании вы можете изменить его на 4096.

  2. Нажмите кнопку «Создать», чтобы начать процесс создания новой пары ключей.

    Создание ключей SSH PuTTYgen

    Вам будет предложено навести указатель мыши на пустую область в разделе «Ключ», чтобы создать некоторую случайность. Когда вы перемещаете указатель, зеленый индикатор выполнения будет двигаться вперед. Процесс должен занять несколько секунд.

  3. После генерации открытого ключа он будет отображаться в блоке «Ключ».

    Кодовая фраза PuTTYgen

    Если вы хотите установить парольную фразу, введите ее в поле «Ключевая фраза-пароль» и подтвердите ту же парольную фразу в поле «Подтвердить парольную фразу». Если вы не хотите использовать кодовую фразу, оставьте поля пустыми.

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

    Парольная фраза добавляет дополнительный уровень безопасности, защищая закрытый ключ от несанкционированного использования.

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

  4. Сохраните закрытый ключ, нажав кнопку «Сохранить закрытый ключ». Вы можете сохранить файл в любом каталоге как файл «.ppk» (закрытый ключ PuTTY), но желательно сохранить его в месте, где вы можете легко его найти. Обычно для файла закрытого ключа используется описательное имя.

    При желании вы также можете сохранить открытый ключ, хотя его можно восстановить позже, загрузив закрытый ключ.

  5. Щелкните правой кнопкой мыши текстовое поле с надписью «Открытый ключ для вставки в файл авторизованных_ ключей OpenSSH» и выберите все символы, нажав «Выбрать все». Откройте текстовый редактор, вставьте символы и сохраните. Убедитесь, что вы вставляете весь ключ. Рекомендуется сохранить файл в том же каталоге, в котором вы сохранили закрытый ключ, используя то же имя закрытого ключа и «.txt» или «.pub» в качестве расширения файла.

    Открытый ключ PuTTYgen

    Это ключ, который вы должны добавить на свой удаленный сервер Linux.

Копирование открытого ключа на сервер

Теперь, когда пара ключей SSH создана, следующим шагом будет копирование открытого ключа на сервер, которым вы хотите управлять.

Запустите программу PuTTY и войдите на удаленный сервер Linux.

Если ваш пользовательский каталог SSH не существует, создайте его с помощью команды mkdir и установите правильные разрешения:

mkdir -p ~/.sshchmod 0700 ~/.ssh

Откройте текстовый редактор и вставьте открытый ключ, который вы скопировали на шаге 4 при генерации пары ключей, в файл ~/.ssh/authorized_keys :

nano ~/.ssh/authorized_keys

Весь текст открытого ключа должен быть в одной строке.

Выполните следующую команду chmod чтобы только ваш пользователь мог читать и записывать файл ~/.ssh/authorized_keys :

chmod 0600 ~/.ssh/authorized_keys

Войдите на сервер с помощью ключей SSH

Pageant — это агент аутентификации PuTTY SSH, который хранит закрытые ключи в памяти. Бинарный файл Pageant является частью установочного пакета PuTTY .msi и может быть запущен, выбрав в Windows меню Пуск → PuTTY (64-разрядная версия) → Pageant.

Когда вы запускаете Pageant, он помещает значок в системный трей. Дважды щелкните значок, и откроется окно Pageant.

Чтобы загрузить ключ, нажмите кнопку «Добавить ключ», при этом откроется диалоговое окно нового файла. Найдите файл закрытого ключа и нажмите «Открыть». Если вы не установили кодовую фразу, ключ будет загружен немедленно. В противном случае вам будет предложено ввести кодовую фразу.

Ключ загрузки Pageant

Введите пароль, и Pageant загрузит закрытый ключ.

После выполнения описанных выше действий вы сможете войти на удаленный сервер без запроса пароля.

Чтобы проверить это, откройте новый сеанс PuTTY SSH и попробуйте войти на удаленный сервер. PuTTY будет использовать загруженный ключ, и вы войдете на сервер без ввода пароля.

Отключение аутентификации по паролю SSH

Чтобы добавить дополнительный уровень безопасности к вашему серверу, вы можете отключить аутентификацию по паролю для SSH.

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

Войдите на удаленный сервер и откройте файл конфигурации SSH:

sudo nano /etc/ssh/sshd_config

Найдите следующие директивы и измените их следующим образом:

/etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Когда вы закончите, сохраните файл и перезапустите службу SSH, набрав:

sudo systemctl restart ssh

На этом этапе аутентификация на основе пароля отключена.

Выводы

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

По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию снизит риск автоматических атак.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

One Response
  1. 19.04.2022

Оставьте комментарий