В инструкции описаны способы генерации SSH-ключей и подключение с их помощью к виртуальным Linux-серверам.
Что такое SSH-ключ?
Подключение к серверу с операционной системой Linux по протоколу SSH возможно двумя способами: используя пару логин/пароль или с помощью SSH-ключей.
SSH-ключи (Secure SHell) основаны на принципах криптографии с открытым ключом.
На самом деле ключ состоит из пары ключей шифрования, которые математически связаны друг с другом: закрытый (private) и открытый (public) ключ.
При использовании данного способа аутентификации сервер SSH проверяет существование пары закрытого ключа для открытого ключа, с которым подключается пользователь.
Данный способ является самым безопасным при подключении к серверу, т.к. взломать криптографический ключ на сегодняшний день не представляется возможным, в отличии от существующих методов подбора паролей. Для дополнительной безопасности в паре можно использовать секретную фразу.
Как сгенерировать SSH-ключ?
Вам необходимо сгенерировать ключ на вашем личном компьютере. В разных операционных системах существуют разные инструментарии для создания ключей.
Генерация ключа в ОС Windows
Для генерации SSH-ключей в Windows используется PuTTY Key Generator.
После установки запустите программу, в нижней части экрана в качестве Type of key to generate укажите RSA и поставьте значение поля Number of bits in generated key равным 2048. Нажмите кнопку Generate и свободно перемещайте курсор по экрану для выработки случайных данных.
Примечание: вы можете использовать ключевую фразу, но это не является обязательным, но при ее использовании обеспечивает большую надежность.
Сохраните приватный и открытый ключи в удобное место.
Генерация ключа в ОС Linux
Для генерации ключа в Linux используется утилита ssh-keygen с опцией -t для создания нужного типа:
ssh-keygen -t rsa
В диалоге необходимо указать имя файла для публичного ключа (можно оставить значение по умолчанию) и при необходимости ввести секретную фразу:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:rFYVrQxeRAAoLTMyGlYsKeFrnTl84qB129wG5PhmCyI root@Ubuntu1804x64
The key's randomart image is:
+---[RSA 2048]----+
|..+o ....++. |
|*+=.o . ... |
|+=.= .. +.. |
|. + o+ ...o |
| +.Bo.o S |
|o.o.+= = |
|E ..o O o |
| . . = o |
| . |
+----[SHA256]-----+
Примечание: использование фразы не является обязательным, но при ее использовании обеспечивает большую надежность.
В нашем примере public-key находится в файле /root/.ssh/id_rsa.pub, а private в /root/.ssh/id_rsa.
Добавление SSH-ключа в панель управления
Чтобы добавить SSH-ключ в панель управления serverspace откройте Настройки профиля → SSH-ключи и нажмите кнопку Добавить SSH-ключ. Введите удобное название и код открытого ключа. Нажмите кнопку Создать.
Настройка доступа к серверу
При создании Linux-сервера в панели управления serverspace в качестве способа подключения выберете SSH-ключ и из списка доступных ключей выберете нужный.
С помощью кнопки Плюс прямо на этой странице можно добавить новый ключ.
Подключение к серверу
Подключение к серверу из ОС Linux
Для подключения используйте утилиту ssh:
ssh <user-name>@<IP-address>
Примечание: ключ должен находиться в каталоге /<user-name>/.ssh/
Подключение к серверу из ОС Windows
Откройте приложение Putty, в вертикальном меню перейдите Connection → SSH → Auth и в поле укажите путь до сгенерированного приватного ключа.
Затем вернитесь в настройки сессии (Session) и заполните данные для подключения.