Как сгенерировать SSH-ключ (Windows, Linux)


Подключение к серверу при помощи SSH-ключа — простой и надёжный способ защиты сетевых соединений. Ключ позволяет идентифицировать клиента при подключению к серверу без использования пароля. При этом взломать такой ключ почти невозможно, ведь SSH-ключ представляет собой комбинацию из открытой и закрытой части ключа. Открытый ключ хранится на сервере и доступен всем, кто пытается подключиться к устройству. Закрытый есть только у пользователя, поскольку этого требуют правила безопасности.

Метод подключения по SSH-протоколу часто используется ИТ-специалистами, поскольку он не только надёжен, но и даёт массу новых возможностей. Об этом мы рассказывали в статьях «SSH-туннели» и «5 рекомендаций по защите SSH-подключений». Как быстро и просто сгенерировать SSH-ключ? Рассказываем.

SSH-ключ для Windows

Для пользователей Windows предлагается несколько вариантов SSH-подключения к серверу, но наиболее популярным способом считается использование маленького клиента Putty. Его можно скачать с официального сайта в виде инсталлятора и portable-версии. Скачайте клиент, установите/распакуйте его, после чего запустите найденный файл puttygen.exe.

В первом окне клиент покажет, что SSH-ключ отсутствует и предложит его сгенерировать. Выберите нужный тип или оставьте все настройки по умолчанию, тогда клиент будет генерировать SSH длиной 2048 бит. Нажмите Generate.

SSH-ключ

Putty предложит вам подёргать мышкой или понажимать на клавиши. Это необходимо, чтобы методом псевдослучайных чисел сгенерировать пару из открытого и закрытого ключа.

SSH-ключ

Клиент покажет, что ключи сгенерированы. Сохраните их ключи на устройстве, используя кнопки Save public key и Save private key. 

SSH-ключ

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


Получить консультацию об облачных сервисахЗаказать звонок





SSH-ключ для Linux

Пользователи Linux могут сгенерировать ключ командой ssh-keygen. Даже если не указывать никаких параметров, всё сохранится так, как надо. В консоли можно использовать не только указанную команду, но и её расширенные версии. Например, существуют такие команды генерации ключей:

  • RSA SSH с 4096-битным закрытым ключом — ssh-keygen -t rsa -b 4096 -C "RSA 4096 bit Keys"
  • DSA SSH с 2048-битным закрытым ключом — ssh-keygen -t dsa -b 1024 -C "DSA 1024 bit Keys"
  • ECDSA SSH с 521-битным закрытым ключом — ssh-keygen -t ecdsa -b 521 -C "ECDSA 521 bit Keys"
  • SSH ed25519 (новый алгоритм, добавленный в OpenSSH) — ssh-keygen -t ed25519

Рекомендуем генерировать пару RSA ключей, их чрезвычайно трудно ломать, и потому они рекомендуются по умолчанию. Приватный (секретный) ключ будет храниться в файле ~/.ssh/id_rsa, а публичный находится в файле ~/.ssh/id_rsa.pub. Оба файла расположены в вашей домашней директории.

После команды $ ssh-keygen -t rsa консоль покажет следующий диалог:

Enter file in which to save the key (/home/user/.ssh/id_rsa):

Увидев эту надпись, нажмите Enter. Так вы сохраните файлы в директориях, заданных по умолчанию. На следующем этапе система предложит задать пароль для дополнительной защиты SSH-подключения.

  • > Enter passphrase (empty for no passphrase): [Type a passphrase]
  • > Enter same passphrase again: [Type passphrase again]

Можете указать, можете пропустить, нажав Enter.

Ключ создан, а на консоли появится сообщение:

SSH-ключ

Командой $ cat ~/.ssh/id_rsa.pub выведите ключи на экран. Это будет выглядеть примерно так:

SSH-ключ

Вставьте скопированные ключи в нужные поля. После этого командой $ ssh root@[IP-адрес сервера] проверьте, установилось ли соединение с сервером.


Полезный материал?
6
2
автор: Андрей
опубликовано: 20.07.2022
Читайте нас: 
Последние статьи
Вверх!