Використання пари SSH-ключів для інстансів із хмарних образів

Під час створення диска в розділі Use image as source доступні два типи образів:

  1. Із префіксом cloudimg, openstack або GenericCloud у назві, наприклад focal-server-cloudimg-amd64.

  2. Без такого префікса, наприклад GNU Linux Debian 9.3 [EN].

../../../../_images/create_volume.png

До інстансів із першого типу образів можна ввійти лише за допомогою пари SSH-ключів. Автентифікація за ім’ям користувача й паролем за замовчуванням недоступна.

Нижче описано створення пари ключів і перший вхід до нової системи.

Способи додавання пари ключів до інстансу SIM-Cloud

Пару ключів можна створити двома способами:

  • створити пару в Dashboard SIM-Cloud під час створення інстансу;

  • заздалегідь створити пару на локальному комп’ютері, імпортувати публічний ключ до SIM-Cloud і додати його до інстансу під час створення.

Розглянемо обидва способи.

1. Створення пари ключів у Dashboard SIM-Cloud під час створення інстансу

Створення пари ключів у Dashboard під час створення інстансу

1.1. Створіть диск з образу, назва якого містить cloudimg, openstack або GenericCloud.

1.2. У меню потрібного диска виберіть LAUNCH AS INSTANCE. У новому вікні заповніть потрібні параметри.

../../../../_images/volumes.png

1.3. У розділі Key Pair натисніть Create Key Pair.

../../../../_images/create_key_pair.png

1.4. У полі Key Pair Name введіть ім’я пари й натисніть CREATE KEY PAIR.

../../../../_images/key_pair_name.png

1.5. Збережіть показаний приватний ключ у текстовому файлі на локальному комп’ютері, потім натисніть DONE.

../../../../_images/create_key_pair_private_key.png

1.6. На локальному комп’ютері створіть каталог /home/user_name/.ssh, якщо його немає. У ньому створіть файл id_rsa, вставте приватний ключ із попереднього кроку та збережіть файл.

Важливо

Ключ має починатися рядком ----- BEGIN RSA PRIVATE KEY ----- і закінчуватися рядком ----- END RSA PRIVATE KEY -----.

../../../../_images/create_key_pair_private_key_copy.png

1.7. Налаштування завершено. Після створення інстансу виконайте на локальному комп’ютері ssh ubuntu@server-ip-address і підтвердьте підключення до нового сервера. Вхід відбудеться без пароля.

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

~$ ssh ubuntu@156.67.**.8
The authenticity of host '156.67.52.82 (156.67.**.8)' can't be established.
ECDSA key fingerprint is SHA256lejXFyOX4jDtMdASdP8BLE8OHfQ.
Are you sure you want to continue connecting (yes/no)? yes

Примітка

Ім’я користувача залежить від образу. Для Debian, CentOS і Fedora замість ubuntu використовуйте відповідно debian, centos або fedora.

2. Створення пари ключів локально та імпорт публічного ключа до SIM-Cloud

Підключення до інстансу за допомогою наявного SSH-ключа

Нижче описано другий спосіб створення й використання пари ключів.

2.1. На локальному комп’ютері виконайте ssh-keygen. Для всіх запитів можна залишити стандартні значення, натискаючи Enter.

../../../../_images/ssh_keygen.png

У домашньому каталозі користувача буде створено .ssh із публічним ключем id_rsa.pub і приватним ключем id_rsa.

../../../../_images/id_rsa_pub.png

2.2. У Dashboard SIM-Cloud перейдіть до ComputeKey Pairs і натисніть IMPORT PUBLIC KEY.

../../../../_images/key-pairs_list.png

2.3. У полі Key Pair Name введіть ім’я пари. Натисніть Browse, виберіть id_rsa.pub і натисніть IMPORT PUBLIC KEY. Ключ з’явиться у списку.

../../../../_images/import_public_key.png

2.4. У Dashboard SIM-Cloud створіть диск з образу, назва якого містить cloudimg, openstack або GenericCloud.

2.5. У меню потрібного диска виберіть LAUNCH AS INSTANCE і заповніть параметри.

../../../../_images/volumes_launch_as_instance.png ../../../../_images/launch_instance_key_pair.png

2.6. У розділі Key Pair виберіть імпортований ключ і натисніть Launch Instance. Публічний ключ буде автоматично додано до ~/.ssh/authorized_keys на сервері.

2.7. Після створення інстансу виконайте на локальному комп’ютері ssh ubuntu@server-ip-address і підтвердьте підключення. Пароль не потрібен.

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

~$ ssh ubuntu@156.67.**.8
The authenticity of host '156.67.52.82 (156.67.**.8)' can't be established.
ECDSA key fingerprint is SHA256lejXFyOX4jDtMdASdP8BLE8OHfQ.
Are you sure you want to continue connecting (yes/no)? yes

Примітка

Ім’я користувача залежить від образу. Для Debian, CentOS і Fedora замість ubuntu використовуйте відповідно debian, centos або fedora.

3. Підключення до інстансу з кількох вузлів

Підключення до інстансу з кількох вузлів

Щоб підключатися без пароля з кількох комп’ютерів, створіть ключ на кожному з них і додайте вміст ~/.ssh/id_rsa.pub до ~/.ssh/authorized_keys на сервері. Не замінюйте наявні рядки: файл може містити кілька публічних ключів. Кожен ключ починається з ssh-rsa й зазвичай завершується ім’ям комп’ютера, на якому його створено.

../../../../_images/authorized_keys.png

4. Додавання пари ключів до наявного інстансу

Підключення до інстансу якщо SSH-ключ не було вказано

Якщо інстанс уже створено з образу cloudimg, openstack або GenericCloud, але пару ключів не було додано, виконайте наведені нижче дії.

Без ключа ввійти до ОС такого інстансу неможливо.

4.1. Вимкніть інстанс через Dashboard SIM-Cloud. Перейдіть до ComputeInstances і в меню потрібного інстансу виберіть Shut Off Instance.

../../../../_images/shut_off_instance.png

4.2. Після вимкнення виберіть у тому самому меню Delete Instance. Диск і дані не буде видалено — видаляється лише конфігурація інстансу, яку буде відтворено на наступному кроці.

4.3. Перейдіть до Volumes, у меню потрібного диска виберіть Launch as Instance і заповніть параметри. Додайте імпортований ключ, як у розділі 2, або створіть нову пару, як у розділі 1.

../../../../_images/launch_instance_key_pair_2.png

4.4. Інстанс буде повторно створено з потрібними параметрами CPU, RAM і мережі, із підключеною парою ключів та без втрати даних.

Тепер можна ввійти до ОС і продовжити налаштування. Виконайте ssh ubuntu@server-ip-address на локальному комп’ютері та підтвердьте підключення. Вхід відбудеться без пароля. Після цього можна додати користувачів, змінити паролі або ввімкнути автентифікацію за паролем.

~$ ssh ubuntu@156.67.**.8
The authenticity of host '156.67.52.82 (156.67.**.8)' can't be established.
ECDSA key fingerprint is SHA256lejXFyOX4jDtMdASdP8BLE8OHfQ.
Are you sure you want to continue connecting (yes/no)? yes

Примітка

Ім’я користувача залежить від образу. Для Debian, CentOS і Fedora замість ubuntu використовуйте відповідно debian, centos або fedora.