Создать и разместить SSH-ключ на облачном сервере
SSH-ключи можно использовать для безопасного подключения к серверу по зашифрованному протоколу SSH. Это пара ключей: приватный ключ хранится на локальном компьютере, а публичный размещается на сервере.
Для авторизации на облачном сервере мы рекомендуем использовать SSH-ключи вместо логина и пароля.
Можно использовать SSH-ключи типов еd25519, rsa, ecdsa и dsa. Подробнее об SSH-ключах для пользователя.
-
Опционально: добавьте публичный SSH-ключ в профиль пользователя.
1. Создать пару SSH-ключей
Создать SSH-ключи можно двумя способами:
- средствами ОС;
- с помощью OpenStack CLI.
Создать пару SSH-ключей средствами ОС
Linux/macOS
Windows
-
Откройте CLI.
-
Сгенерируйте пару SSH-ключей:
ssh-keygen -t <key_type>Укажите
<key_type>— тип SSH-ключа:еd25519,rsa,ecdsaилиdsa -
Появится сообщение о выборе директории для хранения пары ключей — пример для RSA-ключа:
Enter file in which to save the key (~/.ssh/id_rsa):Чтобы оставить директорию для хранения ключей по умолчанию, нажмите Enter. Если вы хотите выбрать другую директорию, введите ее в формате
/path/to/id_rsaи нажмите Enter. -
Опционально: введите кодовую фразу для дополнительной защиты, повторите ее и нажмите Enter:
Enter passphrase (empty for no passphrase):Enter same passphrase again: -
Дождитесь сообщения о том, что ключи сгенерированы. Будет создано два файла:
id_rsa(приватный ключ) иid_rsa.pub(публичный ключ). В терминале появится отпечаток ключа и его изображение:Your identification has been saved in ~/.ssh/id_rsaYour public key has been saved in ~/.ssh/id_rsa.pubThe key fingerprint is:The key's randomart image is: -
Выведите публичный SSH-ключ:
cat <path>Укажите
<path>— полный путь до публичного ключа, который вы указали на шаге 3, например~/.ssh/id_rsa.pub.
Создать пару SSH-ключей через OpenStack CLI
SSH-ключ будет доступен только для одного сервисного пользователя, проекта и пула, для которых вы настроили авторизацию в OpenStack API.
При генерации SSH-ключей через OpenStack CLI публичный ключ автоматически добавляется в профиль пользователя.
-
Сгенерируйте пару SSH-ключей:
openstack keypair create <key_name> --private-key <file_for_key>Укажите:
<key_name>— имя ключа;<file_for_key>— файл, в котором сохранится приватный SSH-ключ на локальном компьютере.
2. Опционально: добавить публичный SSH-ключ в профиль пользователя
Публичный SSH-ключ можно добавить в свой профиль или в профиль другого пользователя. Затем разместить ключ на сервере при создании или уже на существующем сервере.
Ключ будет доступен во всех проектах, в которые добавлен пользователь.
Если вы сгенерировали пару SSH-ключей через OpenStack CLI, публичный ключ автоматически добавился в профиль пользователя.
В свой профиль
В профиль другого пользователя
-
В панели управления в верхнем меню нажмите Аккаунт.
-
Перейдите в раздел Доступ.
-
Откройте вкладку SSH-ключи.
-
Нажмите Добавить ключ.
-
Введите имя ключа.
-
Вставьте публичный SSH-ключ в формате OpenSSH.
-
Нажмите Добавить.
3. Разместить публичный SSH-ключ на облачном сервере
Разместить публичный SSH-ключ можно при создании облачного сервера или на существующем сервере.
Для доступа к облачному серверу по SSH нужно добавить публичный SSH-ключ в файл ~/.ssh/authorized_keys на сервере. Можно добавить несколько ключей, например, если нужен доступ нескольким пользователям.
Публичные SSH-ключи на существующем сервере можно разместить с помощью утилиты или вручную.
Через утилиту
Вручную
Утилита добавляет публичный SSH-ключ в конец файла ~/.ssh/authorized_keys. Используемая команда создает директорию и файл, если они еще не созданы.
Из Linux/macOS
Из Windows
-
Откройте CLI на локальном компьютере.
-
Скопируйте публичный SSH-ключ на облачный сервер:
ssh-copy-id -i <path> <username>@<ip_address>Укажите:
<path>— полный путь до публичного ключа на локальном компьютере, например~/.ssh/id_rsa.pub;<username>— имя пользователя;<ip_address>― публичный IP-адрес сервера.
-
Введите пароль пользователя.