Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Neurosupport
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • Serverless Integrations
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Compute Cloud
    • Все инструкции
        • Остановить и запустить ВМ
        • Сбросить пароль пользователя ВМ Windows Server
        • Подключить диск к ВМ
        • Отключить диск от ВМ
        • Перенести ВМ в другую зону доступности
        • Перенести ВМ в другой каталог
        • Перенести ВМ в другое облако
        • Изменить ВМ
        • Изменить вычислительные ресурсы ВМ
        • Управление политикой обслуживания ВМ
        • Настроить права доступа к ВМ
        • Подключить сервисный аккаунт к ВМ
        • Удалить ВМ
    • Просмотр операций с ресурсами
    • Просмотр метрик Monitoring
  • Yandex Container Solution
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Примеры
  • Просмотреть список изменяемых параметров
  • Изменить имя и описание
  • Изменить метаданные
  • Удалить SSH-ключи из метаданных
  • Включить доступ по OS Login
  1. Пошаговые инструкции
  2. Виртуальные машины
  3. Управление
  4. Изменить ВМ

Изменить виртуальную машину

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 24 августа 2026 г.
Открыть в Markdown
  • Примеры
    • Просмотреть список изменяемых параметров
    • Изменить имя и описание
    • Изменить метаданные
    • Удалить SSH-ключи из метаданных
    • Включить доступ по OS Login

После создания ВМ вы можете изменить ее имя, описание, метки, платформу или метаданные.

Как изменить конфигурацию ВМ, читайте в разделе Изменить вычислительные ресурсы виртуальной машины.

Консоль управления
CLI
API

Чтобы изменить ВМ:

  1. В консоли управления выберите каталог, которому принадлежит ВМ.
  2. Перейдите в сервис Compute Cloud.
  3. На панели слева выберите Виртуальные машины и нажмите на имя нужной ВМ.
  4. Нажмите кнопку Редактировать.
  5. Измените параметры ВМ, например, переименуйте машину, отредактировав значение поля Имя ВМ.
  6. Нажмите Сохранить изменения.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Посмотрите описание команды CLI для обновления параметров ВМ:

    yc compute instance update --help
    
  2. Получите список ВМ в каталоге по умолчанию:

    yc compute instance list
    

    Результат:

    +----------------------+-----------------+---------------+---------+----------------------+
    |          ID          |       NAME      |    ZONE ID    | STATUS  |     DESCRIPTION      |
    +----------------------+-----------------+---------------+---------+----------------------+
    | fhm0b28lgfp4******** | first-instance  | ru-central1-a | RUNNING | my first vm via CLI  |
    | fhm9gk85nj7g******** | second-instance | ru-central1-a | RUNNING | my second vm via CLI |
    +----------------------+-----------------+---------------+---------+----------------------+
    
  3. Выберите идентификатор (ID) или имя (NAME) нужной машины, например first-instance.

  4. Измените параметры ВМ, например, переименуйте машину:

    yc compute instance update first-instance \
      --new-name windows-vm
    

Чтобы изменить ВМ, воспользуйтесь методом REST API update для ресурса Instance или вызовом gRPC API InstanceService/Update.

Примечание

При изменении имени ВМ, имя хоста и, соответственно, FQDN не изменяются. Подробнее про генерацию имени FQDN читайте в разделе Имя хоста и внутренний FQDN.

ПримерыПримеры

Просмотреть список изменяемых параметровПросмотреть список изменяемых параметров

Чтобы просмотреть список изменяемых параметров, выполните команду:

CLI
yc compute instance update --help

Изменить имя и описаниеИзменить имя и описание

Чтобы изменить имя и описание ВМ, выполните следующие шаги:

CLI
API

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Получите список ВМ в каталоге по умолчанию:

    yc compute instance list
    

    Результат:

    +----------------------+-----------------+---------------+---------+----------------------+
    |          ID          |       NAME      |    ZONE ID    | STATUS  |     DESCRIPTION      |
    +----------------------+-----------------+---------------+---------+----------------------+
    | fhm0b28lgfp4******** | first-instance  | ru-central1-a | RUNNING | my first vm via CLI  |
    | fhm9gk85nj7g******** | second-instance | ru-central1-a | RUNNING | my second vm via CLI |
    +----------------------+-----------------+---------------+---------+----------------------+
    
  2. Выберите идентификатор (ID) или имя (NAME) нужной машины, например first-instance.

  3. Измените имя и описание ВМ:

    yc compute instance update first-instance \
      --new-name first-vm \
      --description "changed description vm via CLI"
    

Воспользуйтесь методом REST API update для ресурса Instance или вызовом gRPC API InstanceService/Update.

Внимание

Не изменяйте имя ВМ, если она принадлежит группе узлов кластера Managed Service for Kubernetes. Имя для такой ВМ генерируется автоматически, и его изменение нарушит работу кластера.

Изменить метаданныеИзменить метаданные

При внесении изменений в метаданные ВМ с помощью команды Yandex Cloud CLI yc compute instance update, метода REST API update для ресурса Instance или вызова gRPC API InstanceService/Update весь имеющийся набор метаданных в каталоге user-data и в пути instance/attributes/* каталога computeMetadata полностью перезаписывается переданным обновленным набором.

Чтобы добавить, изменить или удалить отдельные ключи в пути instance/attributes/* каталога computeMetadata воспользуйтесь командами Yandex Cloud CLI yc compute instance add-metadata и yc compute instance remove-metadata, методом REST API updateMetadata для ресурса Instance или вызовом gRPC API InstanceService/UpdateMetadata. При этом в каталоге user-data метаданные всегда полностью перезаписываются новым набором значений.

Чтобы изменить метаданные ВМ:

Консоль управления
CLI
Terraform
API

Примечание

При создании пользователей ВМ через метаданные с помощью ключа user-data все пользователи будут перезаписаны, в том числе пользователь по умолчанию, заданный в блоке Доступ. Чтобы этого избежать, передавайте в значении ключа user-data данные всех пользователей, в том числе и данные пользователя, заданного в блоке Доступ.

  1. В консоли управления выберите каталог, которому принадлежит ВМ.

  2. Перейдите в сервис Compute Cloud.

  3. На панели слева выберите Виртуальные машины.

  4. В строке с нужной ВМ нажмите значок и выберите Редактировать.

  5. В блоке Метаданные передайте метаданные в формате Ключ:Значение.

    Например, чтобы создать в ОС виртуальной машины нескольких пользователей, добавьте ключ user-data и в его значении укажите конфигурацию:

    #cloud-config
    datasource:
      Ec2:
        strict_id: false
    ssh_pwauth: no
    users:
    - name: <имя_пользователя_1>
      sudo: 'ALL=(ALL) NOPASSWD:ALL'
      shell: /bin/bash
      ssh_authorized_keys:
      - <публичный_SSH-ключ_1>
    - name: <имя_пользователя_2>
      sudo: 'ALL=(ALL) NOPASSWD:ALL'
      shell: /bin/bash
      ssh_authorized_keys:
      - <публичный_SSH-ключ_2>
    ...
    - name: <имя_пользователя_n>
      sudo: 'ALL=(ALL) NOPASSWD:ALL'
      shell: /bin/bash
      ssh_authorized_keys:
      - <публичный_SSH-ключ_n>
    runcmd: []
    
  6. Нажмите Сохранить изменения.

Примечание

При создании пользователей ВМ через метаданные с помощью ключа user-data все пользователи будут перезаписаны, в том числе пользователь по умолчанию, заданный в параметре --ssh-key. Чтобы этого избежать, передавайте в значении ключа user-data данные всех пользователей, в том числе и данные пользователя, заданного в параметре --ssh-key.

В Yandex Cloud CLI метаданные можно передать в любом из трех параметров:

  • --metadata-from-file — в виде файла конфигурации в формате --metadata-from-file key=<путь_к_файлу>. Этим способом удобно передавать значение, состоящее одновременно из нескольких строк.

    Например, чтобы добавить на ВМ одновременно нескольких пользователей, опишите конфигурацию в файле в формате YAML:

    #cloud-config
    datasource:
      Ec2:
        strict_id: false
    ssh_pwauth: no
    users:
    - name: <имя_пользователя_1>
      sudo: 'ALL=(ALL) NOPASSWD:ALL'
      shell: /bin/bash
      ssh_authorized_keys:
      - <публичный_SSH-ключ_1>
    - name: <имя_пользователя_2>
      sudo: 'ALL=(ALL) NOPASSWD:ALL'
      shell: /bin/bash
      ssh_authorized_keys:
      - <публичный_SSH-ключ_2>
    ...
    - name: <имя_пользователя_n>
      sudo: 'ALL=(ALL) NOPASSWD:ALL'
      shell: /bin/bash
      ssh_authorized_keys:
      - <публичный_SSH-ключ_n>
    runcmd: []
    

    Примечание

    Команды yc compute instance create | create-with-container | update | add-metadata поддерживают подстановку в метаданные ВМ значений переменных окружения. Эти значения, заданные в ключе user-data в формате $<имя_переменной>, в момент выполнения команды Yandex Cloud CLI будут подставлены в метаданные ВМ из переменных окружения среды, в которой выполняется команда.

    Чтобы изменить такое поведение, не подставлять значение переменной из среды выполнения команды CLI и передать в метаданные ВМ имя переменной в формате $<имя_переменной>, используйте синтаксис с двумя символами доллара. Например: $$<имя_переменной>.

    Подробнее в разделе Особенности передачи переменных окружения в метаданных через CLI.

  • --metadata — в виде списка пар ключ=значение, разделенных запятой, например --metadata foo1=bar,foo2=baz.

    Если в значении несколько строк, используйте \n в качестве разделителя: --metadata user-data="#ps1\nnet user Administrator Passw0rd".

  • --ssh-key — SSH-ключ. Только для ВМ Linux.

    Compute Cloud создаст пользователя yc-user и добавит указанный SSH-ключ в список авторизованных ключей. После создания ВМ вы сможете подключиться к ней по SSH с помощью этого ключа.

Вы можете комбинировать эти параметры, например:

yc compute instance update \
  --name my-instance \
  --metadata-from-file user-data=metadata.yaml \
  --metadata serial-port-enable=1
...

Примечание

При создании пользователей ВМ через метаданные с помощью ключа user-data все пользователи будут перезаписаны, в том числе пользователь по умолчанию, заданный в параметре ssh-keys. Чтобы этого избежать, передавайте в значении ключа user-data данные всех пользователей, в том числе и данные пользователя, заданного в параметре ssh-keys.

В Terraform метаданные можно указать любым из трех способов:

  • В виде отдельного файла с пользовательскими метаданными, который будет обработан агентом cloud-init. Для этого в блоке metadata укажите путь к файлу с пользовательскими метаданными, например к cloud-init.yaml:

    ...
    metadata = {
      user-data = "${file("cloud-init.yaml")}"
    }
    ...
    
    Пример содержимого файла cloud-init.yaml
    #cloud-config
    datasource:
      Ec2:
        strict_id: false
    ssh_pwauth: no
    users:
    - name: <имя_пользователя_1>
      sudo: 'ALL=(ALL) NOPASSWD:ALL'
      shell: /bin/bash
      ssh_authorized_keys:
      - <публичный_SSH-ключ_1>
    - name: <имя_пользователя_2>
      sudo: 'ALL=(ALL) NOPASSWD:ALL'
      shell: /bin/bash
      ssh_authorized_keys:
      - <публичный_SSH-ключ_2>
    ...
    - name: <имя_пользователя_n>
      sudo: 'ALL=(ALL) NOPASSWD:ALL'
      shell: /bin/bash
      ssh_authorized_keys:
      - <публичный_SSH-ключ_n>
    runcmd: []
    
  • В блоке metadata в виде строки с пользовательскими метаданными. Если в значении несколько строк, используйте \n в качестве разделителя. Например:

    ...
    metadata = {
      user-data = "#cloud-config\nusers:\n  - name: <имя_пользователя>\n    groups: sudo\n    shell: /bin/bash\n    sudo: 'ALL=(ALL) NOPASSWD:ALL'\n    ssh_authorized_keys:\n      - <содержимое_SSH-ключа>"
    }
    ...
    
  • Только для ВМ Linux. В блоке ssh-keys указывается имя пользователя и SSH-ключ для доступа на ВМ Linux. Укажите имя пользователя и содержимое SSH-ключа в виде:

    ...
    metadata = {
      ssh-keys = "<имя_пользователя>:<содержимое_SSH-ключа>"
    }
    ...
    

    Если вы используете готовый публичный образ из Yandex Cloud Marketplace, указанное имя пользователя не играет роли. Ключ будет присвоен пользователю, который задан в конфигурации cloud-init по умолчанию. В разных образах это разные пользователи.

    Если вы не знаете, какой пользователь задан по умолчанию, найдите в выводе последовательного порта строку, содержащую слова Authorized keys from. В ней будет указано имя пользователя, которому присвоены авторизованные ключи.

    Если такой строки не найдено, но есть строка no authorized ssh keys fingerprints found for user, значит вы неправильно передали SSH-ключ. Проверьте еще раз формат или попробуйте передать ключи SSH в поле user-data.

В API вы указываете метаданные в свойстве metadata в виде JSON-объекта, например так:

"metadata": {
  "ssh-keys": "ssh-ed25519 AAAAB3Nza... user@example.com",
  "serial-port-enable": "1"
}

Для переноса строки в значениях используйте символ \n.

Важно

Метаданные, в том числе пользовательские, доступны в незашифрованном виде. Если вы размещаете в метаданных конфиденциальную информацию, примите меры для ее защиты — например, зашифруйте.

Удалить SSH-ключи из метаданныхУдалить SSH-ключи из метаданных

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, которому принадлежит ВМ.
  2. Перейдите в сервис Compute Cloud.
  3. На панели слева выберите Виртуальные машины.
  4. В строке с нужной ВМ нажмите значок и выберите Редактировать.
  5. Раскройте секцию Метаданные и удалите ключи, нажав .
  6. Нажмите Сохранить изменения.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Посмотрите описание команды CLI для удаления метаданных:

    yc compute instance remove-metadata --help
    
  2. Удалите ключи:

    yc compute instance remove-metadata <идентификатор_ВМ> --keys <имя_SSH-ключа>
    

Чтобы удалить SSH-ключи из метаданных ВМ, воспользуйтесь методом REST API updateMetadata для ресурса Instance или вызовом gRPC API InstanceService/UpdateMetadata.

В запросе передайте параметр delete с SSH-ключом.

Пример запроса для REST API

curl \
  --request POST \
  --header "Authorization: Bearer <IAM-токен>" \
  --data '{"delete":["<имя_SSH-ключа>"]}' \
  https://compute.api.cloud.yandex.net/compute/v1/instances/<идентификатор_ВМ>/updateMetadata

Включить доступ по OS LoginВключить доступ по OS Login

Чтобы к ВМ можно было подключиться по OS Login, необходимо включить эту опцию в ее настройках:

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, которому принадлежит ВМ.
  2. Перейдите в сервис Compute Cloud.
  3. На панели слева выберите Виртуальные машины.
  4. В строке с нужной ВМ нажмите значок и выберите Редактировать.
  5. В блоке Доступ выберите вариант Доступ по OS Login.
  6. Нажмите Сохранить изменения.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Посмотрите описание команды CLI для обновления параметров ВМ:

    yc compute instance update --help
    
  2. Получите список ВМ в каталоге по умолчанию:

    yc compute instance list
    

    Результат:

    +----------------------+-----------------+---------------+---------+----------------------+
    |          ID          |       NAME      |    ZONE ID    | STATUS  |     DESCRIPTION      |
    +----------------------+-----------------+---------------+---------+----------------------+
    | fhm0b28lgfp4******** | first-instance  | ru-central1-a | RUNNING | my first vm via CLI  |
    | fhm9gk85nj7g******** | second-instance | ru-central1-a | RUNNING | my second vm via CLI |
    +----------------------+-----------------+---------------+---------+----------------------+
    
  3. Выберите идентификатор (ID) или имя (NAME) нужной машины, например first-instance.

  4. Включите доступ по OS Login:

    yc compute instance update first-instance \
      --metadata enable-oslogin=true
    

Передайте в поле metadata пару enable-oslogin=true в методе REST API update для ресурса Instance или в вызове gRPC API InstanceService/Update.

Примечание

Для пользователей, добавленных через метаданные:

  • после включения доступа к ВМ по OS Login из метаданных удаляются ключи, указанные в user-data и ssh-keys;
  • после отключения доступа к ВМ по OS Login удаленные ключи пересоздаются.

Была ли статья полезна?

Предыдущая
Перенести ВМ в другое облако
Следующая
Изменить вычислительные ресурсы ВМ
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»