Использование SSH-ключей для инстансов из облачных образов

Образы с обозначением cloudimg, openstack или GenericCloud в имени, например focal-server-cloudimg-amd64, используют аутентификацию по SSH-ключу. Войти в созданную из такого образа систему по паролю по умолчанию нельзя.

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

Ключевую пару можно создать в Dashboard во время запуска инстанса или заранее на локальном компьютере, а затем импортировать её открытый ключ в SIM-Cloud.

Создание ключевой пары в Dashboard

  1. Создайте диск из образа с обозначением cloudimg, openstack или GenericCloud.

  2. В списке дисков откройте меню нужного диска и выберите Launch as Instance.

    ../../../../_images/volumes.png
  3. В разделе Key Pair нажмите Create Key Pair.

    ../../../../_images/create_key_pair.png
  4. Введите имя пары в поле Key Pair Name и нажмите Create Key Pair.

    ../../../../_images/key_pair_name.png
  5. Сохраните показанный закрытый ключ в надёжном месте. После закрытия окна повторно скачать этот ключ нельзя.

    ../../../../_images/create_key_pair_private_key.png
  6. На Linux или macOS сохраните ключ, например, в ~/.ssh/id_rsa и ограничьте права доступа:

    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/id_rsa
    

    Ключ должен начинаться строкой -----BEGIN RSA PRIVATE KEY----- или -----BEGIN OPENSSH PRIVATE KEY----- и заканчиваться соответствующей строкой -----END ... PRIVATE KEY-----.

    ../../../../_images/create_key_pair_private_key_copy.png
  7. После запуска инстанса подключитесь к его публичному IP-адресу:

    ssh ubuntu@156.67.XX.8
    

    При первом подключении проверьте отпечаток ключа сервера и подтвердите его.

Примечание

Имя пользователя зависит от образа: обычно ubuntu для Ubuntu, debian для Debian, centos для CentOS и fedora для Fedora. Оно указано в описании образа.

Подключение с существующим SSH-ключом

  1. Если ключевой пары ещё нет, создайте её на локальном компьютере:

    ssh-keygen
    

    По умолчанию в ~/.ssh будут созданы закрытый ключ id_rsa и открытый ключ id_rsa.pub. Никому не передавайте закрытый ключ.

    ../../../../_images/ssh_keygen.png ../../../../_images/id_rsa_pub.png
  2. В Dashboard откройте ComputeKey Pairs и нажмите Import Public Key.

    ../../../../_images/key-pairs_list.png
  3. Укажите имя пары, выберите файл id_rsa.pub и нажмите Import Public Key.

    ../../../../_images/import_public_key.png
  4. Создайте диск из облачного образа и выберите Launch as Instance.

    ../../../../_images/volumes_launch_as_instance.png
  5. В разделе Key Pair выберите импортированный ключ и запустите инстанс. Открытый ключ будет добавлен в ~/.ssh/authorized_keys гостевой системы.

    ../../../../_images/launch_instance_key_pair.png
  6. Подключитесь командой ssh <user>@<public-ip>. Пароль вводить не нужно.

Подключение с нескольких компьютеров

Создайте отдельную пару ключей на каждом компьютере. Добавьте содержимое каждого файла ~/.ssh/id_rsa.pub новой строкой в ~/.ssh/authorized_keys на сервере. Не заменяйте уже существующие ключи.

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

Добавление ключа к созданному инстансу

Если инстанс из облачного образа был создан без ключевой пары и войти в ОС невозможно, пересоздайте конфигурацию инстанса на основе того же системного диска:

  1. В Dashboard откройте ComputeInstances и выключите инстанс.

    ../../../../_images/shut_off_instance.png
  2. Удалите выключенный инстанс. Системный диск и данные сохранятся, если диск не настроен на автоматическое удаление вместе с инстансом. Перед удалением обязательно проверьте это свойство.

  3. Откройте Volumes, выберите прежний системный диск и нажмите Launch as Instance. Укажите прежние параметры CPU, RAM и сети, а в разделе Key Pair выберите созданную или импортированную пару.

    ../../../../_images/launch_instance_key_pair_2.png
  4. После запуска подключитесь к публичному IP-адресу по SSH. Данные на диске останутся доступными.