Перейти к основному содержимому
Создать и разместить SSH-ключ на облачном сервере
Последнее изменение:

Создать и разместить SSH-ключ на облачном сервере

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

Для авторизации на облачном сервере мы рекомендуем использовать SSH-ключи вместо логина и пароля.

Можно использовать SSH-ключи типов еd25519, rsa, ecdsa и dsa.

  1. Создайте пару SSH-ключей.
  2. Опционально: добавьте публичный SSH-ключ в профиль пользователя.
  3. Разместите публичный SSH-ключ на облачном сервере.

1. Создать SSH-ключи

  1. Откройте CLI.

  2. Сгенерируйте пару SSH-ключей:

    ssh-keygen -t <key_type>

    Укажите <key_type> — тип SSH-ключа: еd25519, rsa, ecdsa или dsa

  3. Появится сообщение о выборе директории для хранения пары ключей — пример для rsa-ключа:

    Enter file in which to save the key (~/.ssh/id_rsa):

    Чтобы оставить директорию для хранения ключей по умолчанию, нажмите Enter. Если вы хотите выбрать другую директорию, введите ее в формате /path/to/id_rsa и нажмите Enter.

  4. Опционально: введите кодовую фразу для дополнительной защиты, повторите ее и нажмите Enter:

    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
  5. Дождитесь сообщения о том, что ключи сгенерированы. Будет создано два файла: id_rsa (приватный ключ) и id_rsa.pub (публичный ключ). В терминале появится отпечаток ключа и его изображение:

    Your identification has been saved in ~/.ssh/id_rsa
    Your public key has been saved in ~/.ssh/id_rsa.pub
    The key fingerprint is:
    The key's randomart image is:
  6. Выведите публичный SSH-ключ:

    cat <path>

    Укажите <path> — полный путь до публичного ключа, который вы указали на шаге 3, например ~/.ssh/id_rsa.pub.

2. Опционально: добавить публичный SSH-ключ в профиль пользователя

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

Ключ будет доступен во всех проектах, в которые добавлен пользователь.

  1. В панели управления перейдите в раздел Облачная платформаДоступ.
  2. Откройте вкладку SSH-ключи.
  3. Нажмите Добавить SSH-ключ.
  4. Введите имя ключа.
  5. Вставьте публичный SSH-ключ в формате OpenSSH.
  6. Нажмите Добавить ключ.

3. Разместить публичный SSH-ключ на облачном сервере

Разместить публичный SSH-ключ можно при создании облачного сервера или на существующем сервере.

Для доступа к облачному серверу по SSH нужно добавить публичный SSH-ключ в файл ~/.ssh/authorized_keys на сервере. Можно добавить несколько ключей, например, если нужен доступ нескольким пользователям.

Публичные SSH-ключи на существующем сервере можно разместить двумя способами:

Скопировать публичный SSH-ключ с локального компьютера с помощью ssh-copy-id

Команда ssh-copy-id добавляет публичный SSH-ключ в конец файла ~/.ssh/authorized_keys. Команда создает директорию и файл, если они еще не созданы.

  1. Откройте CLI на локальном компьютере.

  2. Скопируйте публичный SSH-ключ на облачный сервер:

    ssh-copy-id -i <path> <username>@<ip_address>

    Укажите:

    • <path> — полный путь до публичного ключа на локальном компьютере, например ~/.ssh/id_rsa.pub;
    • <username> — имя пользователя;
    • <ip_address> ― публичный IP-адрес сервера.
  3. Введите пароль пользователя.

Разместить публичный SSH-ключ на сервере вручную

  1. Откройте файл с публичным SSH-ключом на локальном компьютере:

    cat <path>

    Укажите <path> — полный путь до публичного ключа на локальном компьютере, например ~/.ssh/id_rsa.pub.

  2. Скопируйте значение публичного SSH-ключа.

  3. Подключитесь к серверу.

  4. Перейдите в директорию .ssh:

    cd .ssh
  5. Создайте файл authorized_keys:

    touch authorized_keys
  6. Добавьте в файл authorized_keys публичный SSH-ключ:

    echo <public_ssh_key> >> ~/.ssh/authorized_keys

    Укажите <public_ssh_key> — публичный SSH-ключ, который вы скопировали на шаге 2. Начинается с ssh-rsa.

  7. Настройте права доступа:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

SSH-ключи для пользователя

Как добавить ключ в профиль пользователя
  • Другому пользователю: в панели управления в разделе Управление доступомУправление пользователями → вкладка с нужным типом пользователей → страница пользователя;
  • добавится автоматически при создании SSH-ключей через OpenStack CLI (команда openstack keypair create);
  • через API;
  • через Terraform;
  • через selvpc CLI
Как разместить на облачном сервере при создании сервера
  • Через OpenStack CLI (команда openstack server create);
  • через API;
  • через Terraform
Для каких пользователей доступенДля одного пользователя любого типа
В каких проектах доступенВо всех проектах, в которые добавлен пользователь
В каких пулах доступен
  • Доступен во всех пулах, если был добавлен в панели управления в разделе Управление доступомУправление пользователями → вкладка с нужным типом пользователей → страница пользователя;
  • доступен только в тех пулах, в которые был добавлен через OpenStack CLI, API, Terraform, selvpc CLI
Где можно посмотреть список ключей
  • Чужих: в панели управления в разделе Управление доступомУправление пользователями → вкладка с нужным типом пользователей → страница пользователя;
  • через OpenStack CLI (команда openstack keypair list);
  • через API;
  • через Terraform;
  • через selvpc CLI