vk.com Как сгенерировать SSH-ключ для доступа на сервер

Как сгенерировать SSH-ключ для доступа на сервер

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


Что такое SSH-ключ?

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

Примечание.

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

Генерация ключа на Windows

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

screen_001.png


После установки запускаем PuTTYgen, в меню Type of key to generate выбираем EdDSA и проверяем значение поля Curve to use for generating this key, оно должно быть равно Ed25519 (255 bits). Далее нажимаем Generate и свободно перемещаем курсор по экрану для выработки случайных данных.

screen_002.png


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

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

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

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

Генерация ключа на Linux

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

ssh-keygen -t ed25519


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

Примечание.

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

Примечание.

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

Generating public/private ed25519 key pair.

Enter file in which to save the key (/root/.ssh/id_ed25519):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_ed25519.

Your public key has been saved in /root/.ssh/id_ed25519.pub.

The key fingerprint is:

SHA256:lnxKTtm5CrNeFbBQVf+8M6QUqb4pQeQXqx4y2JQ6QPA root@auto.local

The key's randomart image is:

+--[ED25519 256]--+

| . .o*B@|

| . o Eo.@B|

| + + o.=.+|

| o * = +o |

| . S = +. |

| . = = * + |

| . o o = = |

| . . o |

| . |

+----[SHA256]-----+


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

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

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

Примечание.

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

screen_003.png


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