Генерация SSH-ключа для авторизации на сервере

В этом руководстве будет рассмотрен процесс генерации SSH ключа в Linux и Windows для подключения к виртуальному серверу под управлением операционной системы семейства Linux.

Что это такое

Использование SSH-keys позволяет осуществить подсоединение без использования пароля. При этом такой тип авторизации гораздо безопаснее, чем вход по паролю. Пароль может быть взломан, а ключи практически не поддаются расшифровке. Secure SHell-ключ состоит из открытого и закрытого ключей, которые представляют из себя длинные последовательности символов. Вы можете поместить открытый key на компьютер, а затем разблокировать его, подключившись к нему с клиентом, у которого есть закрытый key. Когда они совпадают, вы соединитесь с виртуальным сервером (no password). Также можно еще повысить уровень безопасности, если использовать кодовое выражение для защиты закрытого ключа.

Примечание:
- порт Secure SHell по умолчанию - 22;
- по протоколу SSH можно удаленно управлять файлами с помощью SSHFS (Secure SHell FileSystem).

Генерация ключа на сервере с ОС семейства Linux

Для начала необходимо сформировать пару зашифрованных ключей на клиентской машине (ваш компьютер): ssh-keygen -t rsa

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

Примечание: существуют специальные программы который избавляют пользователей от неудобства каждый раз вводить ключевое выражение, например можно воспользоваться ssh-agent или ssh-add. Подробнее об этом можно почитать здесь.

Примечание: если Вы хотите выбрать значение предложенное по умолчанию, нажмите Enter.

В примере open-key теперь расположен в /root/.ssh/id_rsa.pub, закрытый ключ теперь расположен в/root/.ssh/id_rsa.

Генерация ключа на сервере с ОС семейства Windows

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

После установки запускаем PuTTYgen, в меню Type of key to generate выбираем RSA и проверяем значение поля Number of bits in generated key, оно должно быть равно 2048. Далее нажимаем Generate и свободно перемещаем курсор по экрану для выработки случайных данных.

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

В поле Key passphrase введите кодовую фразу. Использование кодовой фразы не является обязательным. Кодовая фраза имеет большие преимущества - безопасность ключа, независимо от способа его шифрования, по-прежнему зависит от того, что он никому не виден, если закрытый ключ с защитой кодовой фразой попадает в руки хакерам, они не смогут использовать ключ для входа до тех пор, пока не угадают кодовую фразу. Единственный недостаток фразы в том, что Вы должны вводить его каждый раз при подсоединении к серверу.

В поле Confirm passphrase повторите ввод фразы.

Сохраните сгенерированные ключи в любое удобное для вас место нажав соответствующие кнопки Save private key и Save public key.

Добавление ключа в Панель управления

В Панели управления перейдите в Настройки -> SSH-ключи, нажмите на кнопку Добавить SSH-ключ. В поле Название ключа введите любое удобное для вас имя. В поле Код ключа вставьте сгенерированный вами ключ.

Примечание: при создании сервера выберете в качестве способа подключения ssh-ключ.

 

Ознакомиться с другими инструкциями вы можете на нашем сайте. А чтобы попробовать услугу — кликните на кнопку ниже.

Последнее обновление: 28.07.2021