Безопасность является первоочередной задачей для администраторов серверов, особенно когда возникает необходимость регулярного удаленного доступа к серверам. Защита от кибератак имеет решающее значение для оптимизации рабочих процессов и обеспечения непрерывности бизнеса. Стандартная практика использования имени пользователя и пароля крайне небезопасна, ненадежна и неэффективна. Для доступа, управления и контроля серверов вам необходим надежный и продвинутый метод, такой как авторизация по паре ключей SSH. Криптографические алгоритмы, используемые в ключах SSH, обеспечивают высокий уровень безопасности для защиты серверов, при котором расшифровка становится невозможной даже с помощью полного перебора.
Сегодня аутентификация на основе ключей SSH является наиболее надежным способом аутентификации и фаворитом среди пользователей Linux. С SSH вы получаете возможность выбора между ключами “RSA” (Rivest-Shamir-Adleman) или “DSA” (“Digital Signature Algorithm”). Если вы генерируете ключи впервые, предпочтительным вариантом является RSA. В этом руководстве мы будем использовать метод “RSA key” с размером порта по умолчанию 2048 для генерации закрытого и открытого ключей и подключения к VPS.
Как работает аутентификация по ключам SSH?
Аутентификация по ключам SSH использует модель клиент-сервер для обмена данными между сервером и клиентом. Сервер принимает соединения, в то время как клиент отвечает за протокол управления передачей (TCP) для подключения к серверу. Вы генерируете пару ключей (закрытый и открытый) и сопоставляете сервер с клиентом. Закрытый ключ хранится на вашем локальном компьютере, тогда как открытый ключ загружается на сервер. Закрытый ключ проверяется на соответствие открытому ключу для установления соединения. Соединение устанавливается только в том случае, если оба ключа проходят проверку и совпадают, в противном случае в соединении отказывается.
Несомненно, аутентификация по паре ключей SSH — это высоконадежный и безопасный способ подключения к серверам. На самом деле, пользователи Linux также могут настроить сервер Linux и использовать аутентификацию на основе ключей тоже. Независимо от используемой вами ОС, вы можете использовать аутентификацию по паре ключей для защиты своих ресурсов и беспроблемной работы. В этом руководстве мы подробно расскажем о шагах по генерации ключей SSH с помощью PuTTY и их подключению к VPS. Давайте начнем!
Предварительные требования
Для выполнения этого руководства вам понадобятся:
-
Доступ к серверу Linux.
-
Установленные в вашей системе PuTTY и PuTTYgen.
Шаг 1 — Скачивание PuTTYgen
Скачайте PuTTYgen с официального сайта.
Шаг 2 — Генерация пары SSH
- Сначала дважды щелкните по файлу puttygen.exe, чтобы открыть PuTTYgen, который мы скачали на Шаге 1.
-
Затем в разделе Parameters выберите RSA в опции Type of key to generate:

- Оставьте размер ключа RSA по умолчанию
2048. Вы также можете увеличить его до
4096 для добавления дополнительного уровня безопасности и защиты от атак методом полного перебора:

- Затем нажмите кнопку Generate, чтобы сгенерировать пару SSH-ключей:

- После этого водите указателем мыши по пустой области в разделе Key, пока не заполнится индикатор выполнения:

- Вы увидите открытый ключ SSH на экране:

- Кроме того, добавьте пароль для ключа (Key passphrase) в целях безопасности. Подтвердите и продолжите:

- Сохраните закрытый ключ на своем компьютере, нажав кнопку Save private key:

- Введите имя для закрытого ключа и сохраните его в любом месте на вашем компьютере. Помните, что этот ключ понадобится нам на следующем шаге, поэтому убедитесь, что вы знаете, где он находится:

- Аналогично сохраните закрытый ключ на своем компьютере, нажав кнопку Save public key:

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

Теперь вы успешно сгенерировали пару ключей SSH! Перейдем к настройке закрытого ключа в PuTTY. Кроме того, вы можете пропустить Шаг 3 и узнать, как сгенерировать набор ключей RSA с помощью PuTTYgen для безопасного доступа к облаку CloudSigma.
Шаг 3 — Сохранение настроек вашего сервера
На данный момент сервер все еще не может распознать вашу систему. Давайте прикрепим закрытый ключ к PuTTY, чтобы представить сервер нашей системе. Выполните следующие шаги:
-
Запустите PuTTY, дважды щелкнув по его исполняемому файлу.
-
В левой боковой панели откройте раздел Connection, перейдите в SSH, и нажмите на Auth:

-
В поле Private key for authentication нажмите Browse и откройте файл закрытого ключа, который мы сохранили на Шаге 2 (11.):

Шаг 4 — Добавление закрытого ключа на сервер
Давайте вставим скопированный открытый ключ в файл ~/.ssh/authorized_keys на вашем сервере.
-
Войдите на свой целевой сервер.
-
Если ваша папка SSH еще не существует, создайте ее вручную с помощью authorized_keys:
|
1 |
mkdir ~/.ssh | touch ~/.ssh/authorized_keys |
-
Затем измените права доступа, чтобы защитить ключи SSH:
|
1 |
chmod 0700 ~/.ssh; chmod 0644 ~/.ssh/authorized_keys |
-
Затем откройте файл ~/.ssh/authorized_keys с помощью текстового редактора vim:
|
1 |
vim ~/.ssh/authorized_keys |
-
Нажмите клавишу i на клавиатуре и щелкните правой кнопкой мыши для вставки.
-
Чтобы сохранить, нажмите следующие клавиши на клавиатуре (в указанном порядке): Esc, :, w, q, Enter.
Шаг 5 — Отключение входа по имени пользователя и паролю
После проверки входа по ключу вы можете отключить вход по имени пользователя или паролю для повышения безопасности.
-
Отредактируйте конфигурационный файл SSH-сервера, расположенный по адресу /etc/ssh/sshd_config.
-
Затем нажмите клавишу i на клавиатуре и отредактируйте строки:
|
1 2 3 4 |
[...] PasswordAuthentication no [...] UsePAM no [...] |
-
Чтобы сохранить, нажмите следующие клавиши на клавиатуре (в указанном порядке): Esc, :, w, q, Enter.
-
Затем перезагрузите конфигурацию SSH-сервера:
|
1 |
$ sudo reload ssh |
Заключение
Использование аутентификации по SSH-ключам — отличный выбор для защиты серверов и вашей системы от киберугроз. Однако метод безопасности на основе ключей требует бдительности при сохранении закрытых ключей. Обязательно храните закрытый ключ в тайне и никогда никому его не раскрывайте. Если вы не сможете обеспечить безопасность своего закрытого ключа, хакеры могут получить доступ и в конечном итоге контролировать ваши серверы без вашего разрешения.
Хотите узнать больше об SSH и серверах Linux? Ознакомьтесь со следующими руководствами в нашем блоге:
- Как использовать SSH для подключения к удаленному серверу в Ubuntu
- Обзор SSH — SSH-серверы, клиенты и ключи
- Настройка сервера Linux для использования аутентификации на основе SSH-ключей
Приятной работы!


Комментарии
Комментариев пока нет. Будьте первым.