[Документация Yandex Cloud](../../../index.md) > [Yandex Compute Cloud](../../index.md) > [Пошаговые инструкции](../index.md) > Серийная консоль > Управлять доступом к серийной консоли

# Управлять доступом к серийной консоли

[Серийная консоль](../../concepts/serial-console.md) позволяет получить доступ к [виртуальной машине](../../concepts/vm.md) вне зависимости от состояния [сети](../../../vpc/concepts/network.md#network) или операционной системы.

Чтобы [управлять](index.md) доступом к серийной консоли, необходима [роль](../../security/index.md) `compute.admin` или `editor`.

По умолчанию доступ к серийной консоли виртуальных машин Compute Cloud запрещен.

{% note warning %}

Оцените риск разрешения доступа к ВМ через серийную консоль, учитывая следующие факторы:

* ВМ будет доступна для управления из интернета даже при отсутствии у нее внешнего IP-адреса.

    При наличии необходимых [прав](../../security/index.md) доступа к ВМ подключиться к серийной консоли сможет пользователь, успешно аутентифицированный в [консоли управления](https://kz.console.yandex.cloud) Yandex Cloud.
    
    Доступ к серийной консоли ВМ из клиентского приложения [SSH](../vm-connect/ssh.md) (например, Putty) или [CLI](../../../cli/index.md) также возможен путем аутентификации с помощью SSH-ключа. Поэтому необходимо защитить SSH-ключ от несанкционированного доступа, а также всегда завершать веб-сессию для снижения рисков ее перехвата.

* Сессия работы с серийной консолью будет доступна одновременно всем пользователям, имеющим право доступа к серийной консоли. Действия одного пользователя будут видны другим пользователям, если в это время они просматривают вывод серийной консоли.
* Незавершенная сессия работы с серийной консолью может быть использована другим пользователем.

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

После завершения использования серийной консоли не забудьте [запретить](index.md#disable) доступ к ней.

{% endnote %}

## Разрешить доступ к серийной консоли {#enable}

Вы можете разрешить доступ к серийной консоли как при создании новой виртуальной машины, так и изменив существующую ВМ.

### Создать новую ВМ с разрешенным доступом к серийной консоли {#turn-on-for-new-instance}

Чтобы разрешить доступ к серийной консоли при создании новой виртуальной машины на основе публичного [образа](../images-with-pre-installed-software/get-list.md) из [Yandex Cloud Marketplace](../../../marketplace/index.md):

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите [каталог](../../../resource-manager/concepts/resources-hierarchy.md#folder), в котором будет создана ВМ.
  1. Перейдите в сервис **Compute Cloud**.
  1. На панели слева выберите ![server](../../../_assets/console-icons/server.svg) **Виртуальные машины**.
  1. Нажмите кнопку **Создать виртуальную машину**.
  1. В блоке **Образ загрузочного диска** выберите один из [образов](../../concepts/image.md) Yandex Cloud Marketplace.
  1. В блоке **Расположение** выберите [зону доступности](../../../overview/concepts/geo-scope.md), в которой будет находиться ВМ.
  1. В блоке **Вычислительные ресурсы** выберите одну из готовых конфигураций или создайте свою.
  1. В блоке **Сетевые настройки**:

      * В поле **Подсеть** укажите идентификатор подсети в зоне доступности создаваемой ВМ или выберите [облачную сеть](../../../vpc/concepts/network.md#network) из списка.

          * У каждой сети должна быть как минимум одна [подсеть](../../../vpc/concepts/network.md#subnet). Если подсети нет, создайте ее, выбрав **Создать подсеть**.
          * Если сети нет, нажмите **Создать сеть** и создайте ее.
      * В поле **Публичный IP-адрес** выберите способ назначения адреса `Автоматически`, чтобы назначить случайный IP-адрес из пула адресов Yandex Cloud.
      * Выберите [подходящие группы безопасности](../../../vpc/concepts/security-groups.md). Если оставить поле пустым, то виртуальной машине будет автоматически назначена группа безопасности по умолчанию.
  1. В блоке **Доступ**:
     
     * Выберите **Доступ по OS Login**, чтобы [подключаться](../vm-connect/os-login.md) к создаваемой ВМ и управлять доступом к ней с помощью [OS Login](../../../organization/concepts/os-login.md) в Yandex Identity Hub.
     
         Используя OS Login, вы сможете подключаться к ВМ по SSH-ключам и SSH-сертификатам с помощью стандартного SSH-клиента или [интерфейса командной строки Yandex Cloud](../../../cli/quickstart.md). OS Login позволяет ротировать SSH-ключи, используемые для доступа к ВМ, и является наиболее [безопасным](../../../security/domains/iaas-checklist.md#vm-security) вариантом доступа.
     
     * Если доступ по OS Login вам не подходит, выберите вариант **SSH-ключ** и укажите данные для доступа к ВМ:
     
         * В поле **Логин** введите имя пользователя.
     
             {% note alert %}
     
             Не используйте логин `root` или другие [имена, зарезервированные ОС](https://github.com/canonical/subiquity/blob/main/reserved-usernames). Для выполнения операций, требующих прав суперпользователя, используйте команду `sudo`.
     
             {% endnote %}
     
         * В поле **SSH-ключ** выберите SSH-ключ, сохраненный в вашем профиле [пользователя организации](../../../organization/concepts/membership.md).
           
           Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
           
           1. Нажмите кнопку **Добавить ключ**.
           1. Задайте имя SSH-ключа.
           1. Выберите вариант:
           
               * `Ввести вручную` — вставьте содержимое открытого [SSH](../../../glossary/ssh-keygen.md)-ключа. Пару SSH-ключей необходимо [создать](../vm-connect/ssh.md#creating-ssh-keys) самостоятельно.
               * `Загрузить из файла` — загрузите открытую часть SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно.
               * `Сгенерировать ключ` — автоматическое создание пары SSH-ключей.
               
                 При добавлении сгенерированного SSH-ключа будет создан и загружен архив с парой ключей. В ОС на базе Linux или macOS распакуйте архив в папку `/home/<имя_пользователя>/.ssh`. В ОС Windows распакуйте архив в папку `C:\Users\<имя_пользователя>/.ssh`. Дополнительно вводить открытый ключ в консоли управления не требуется.
           
           1. Нажмите кнопку **Добавить**.
           
           SSH-ключ будет добавлен в ваш профиль пользователя организации. Если в организации [отключена](../../../organization/operations/os-login-access.md) возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя внутри создаваемого ресурса.
     
     Если вы хотите добавить на ВМ одновременно нескольких пользователей с SSH-ключами, [задайте](../../concepts/metadata/sending-metadata.md) данные этих пользователей в блоке **Метаданные**. С помощью метаданных вы также можете [установить дополнительное ПО](../vm-create/create-with-cloud-init-scripts.md) на ВМ при ее создании.
     
     В публичных образах Linux, предоставляемых Yandex Cloud, возможность подключения по протоколу SSH с использованием логина и пароля по умолчанию отключена.
  1. В блоке **Общая информация** задайте имя ВМ:

      * длина — от 3 до 63 символов;
      * может содержать строчные буквы латинского алфавита, цифры и дефисы;
      * первый символ — буква, последний — не дефис.

      {% note info %}
      
      Имя виртуальной машины используется для генерации [внутреннего FQDN](../../concepts/network.md#hostname) единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.
      
      {% endnote %}

  1. Разверните блок **Дополнительно** и в поле **Доступ к серийной консоли** включите опцию **Разрешить**.
  1. Нажмите кнопку **Создать ВМ**.

  ВМ появится в списке. При создании ВМ назначаются [IP-адрес](../../../vpc/concepts/address.md) и [имя хоста](../../../vpc/concepts/address.md#fqdn) (FQDN).

- CLI {#cli}

  Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../../cli/quickstart.md#install).

  По умолчанию используется каталог, указанный при [создании](../../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. [Подготовьте](../vm-connect/ssh.md#creating-ssh-keys) пару ключей (открытый и закрытый) для [SSH-доступа](../../../glossary/ssh-keygen.md) на ВМ.
  2. Создайте ВМ в [каталоге](../../../resource-manager/concepts/resources-hierarchy.md#folder) по умолчанию. В приведенном примере будет создана ВМ на основе публичного [образа](../images-with-pre-installed-software/get-list.md) из [Yandex Cloud Marketplace](../../../marketplace/index.md) на базе операционной системы [Ubuntu 24.04 LTS](https://yandex.cloud/ru-kz/marketplace/products/yc/ubuntu-2404-lts-oslogin):

      ```bash
      yc compute instance create \
        --name sample-instance \
        --zone kz1-a \
        --network-interface subnet-id=<идентификатор_подсети>,nat-ip-version=ipv4 \
        --create-boot-disk image-folder-id=standard-images,image-family=ubuntu-2404-lts-oslogin,auto-delete=true \
        --metadata enable-oslogin=false,serial-port-enable=1,ssh-keys='<имя_пользователя>:<публичный_SSH-ключ>'
      ```

      Где:

      * `--name` — имя ВМ. Требования к имени:

          * длина — от 3 до 63 символов;
          * может содержать строчные буквы латинского алфавита, цифры и дефисы;
          * первый символ — буква, последний — не дефис.

          {% note info %}
          
          Имя виртуальной машины используется для генерации [внутреннего FQDN](../../concepts/network.md#hostname) единожды — при создании ВМ. Если для вас важен внутренний FQDN, учитывайте это и задавайте нужное имя ВМ при создании.
          
          {% endnote %}

      * `--zone` — [зона доступности](../../../overview/concepts/geo-scope.md), в которой будет создана виртуальная машина.
      * `--network-interface` — сетевые настройки создаваемой ВМ:

          * `subnet-id` — [идентификатор подсети](../../../vpc/operations/subnet-get-info.md) в зоне доступности, в которой создается виртуальная машина.
      * `--metadata` — [метаданные](../../concepts/vm-metadata.md) виртуальной машины:

          * `enable-oslogin` — параметр, отвечающий за доступ к ВМ по [OS Login](../../../organization/concepts/os-login.md). Возможные значения:

              * `true` — чтобы включить доступ к ВМ по OS Login. В этом случае доступ по SSH-ключу, заданному через метаданные, будет невозможен.
              * `false` — чтобы отключить доступ к ВМ по OS Login. Доступ к ВМ будет возможен только по SSH-ключу, заданному через метаданные.
          * `serial-port-enable=1` — параметр, разрешающий доступ к ВМ через серийную консоль.
          * `ssh-keys` — имя локального пользователя ВМ и содержимое [публичного SSH-ключа](../vm-connect/ssh.md#creating-ssh-keys), с которым этот пользователь сможет подключаться к ВМ по SSH.

      Подробнее о команде `yc compute instance create` читайте в [справочнике CLI](../../../cli/cli-ref/compute/cli-ref/instance/create.md).

{% endlist %}

### Разрешить доступ к серийной консоли для существующей ВМ {#turn-on-for-current-instance}

Чтобы разрешить доступ к серийной консоли для существующей виртуальной машины:

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите [каталог](../../../resource-manager/concepts/resources-hierarchy.md#folder), в котором находится нужная виртуальная машина.

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

  1. На панели слева выберите ![server](../../../_assets/console-icons/server.svg) **Виртуальные машины**.

  1. В списке виртуальных машин в строке с нужной ВМ нажмите значок ![ellipsis](../../../_assets/console-icons/ellipsis.svg) и выберите ![pencil](../../../_assets/console-icons/pencil.svg) **Редактировать**. В открывшемся окне:

     1. Разверните блок **Дополнительно** и в поле **Доступ к серийной консоли** включите опцию **Разрешить**.
     1. Нажмите кнопку **Сохранить изменения**.

- CLI {#cli}

  Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../../cli/quickstart.md#install).

  По умолчанию используется каталог, указанный при [создании](../../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Измените ВМ, указав в команде ее [имя или идентификатор](../vm-info/get-info.md#outside-instance):

      ```bash
      yc compute instance update <имя_или_идентификатор_ВМ> \
        --metadata enable-oslogin=<true|false>,serial-port-enable=1,ssh-keys='<имя_пользователя>:<публичный_SSH-ключ>'
      ```

      Где `--metadata` — [метаданные](../../concepts/vm-metadata.md) виртуальной машины:

      * `enable-oslogin` — параметр, отвечающий за доступ к ВМ по [OS Login](../../../organization/concepts/os-login.md). Возможные значения:

          * `true` — чтобы включить доступ к ВМ по OS Login. В этом случае доступ по SSH-ключу, заданному через метаданные, будет невозможен.
          * `false` — чтобы отключить доступ к ВМ по OS Login. Доступ к ВМ будет возможен только по SSH-ключу, заданному через метаданные.
      * `serial-port-enable=1` — параметр, разрешающий доступ к ВМ через серийную консоль.
      * `ssh-keys` — имя локального пользователя ВМ и содержимое [публичного SSH-ключа](../vm-connect/ssh.md#creating-ssh-keys), с которым этот пользователь сможет подключаться к ВМ по SSH.

     Подробнее о команде `yc compute instance update` читайте в [справочнике CLI](../../../cli/cli-ref/compute/cli-ref/instance/update.md).

{% endlist %}

## Запретить доступ к серийной консоли {#disable}

По умолчанию доступ к серийной консоли для всех вновь создаваемых виртуальных машин Compute Cloud запрещен.

Чтобы запретить доступ к серийной консоли для существующей виртуальной машины:

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите [каталог](../../../resource-manager/concepts/resources-hierarchy.md#folder), в котором находится нужная виртуальная машина.

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

  1. На панели слева выберите ![server](../../../_assets/console-icons/server.svg) **Виртуальные машины**.

  1. В списке виртуальных машин в строке с нужной ВМ нажмите значок ![ellipsis](../../../_assets/console-icons/ellipsis.svg) и выберите ![pencil](../../../_assets/console-icons/pencil.svg) **Редактировать**. В открывшемся окне:

     1. Разверните блок **Дополнительно** и в поле **Доступ к серийной консоли** отключите опцию **Разрешить**.
     1. Нажмите кнопку **Сохранить изменения**.

- CLI {#cli}

  Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../../cli/quickstart.md#install).

  По умолчанию используется каталог, указанный при [создании](../../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Измените ВМ, указав в команде ее [имя или идентификатор](../vm-info/get-info.md#outside-instance):

      ```bash
      yc compute instance update <имя_или_идентификатор_ВМ> \
        --metadata enable-oslogin=<true|false>,serial-port-enable=0,ssh-keys='<имя_пользователя>:<публичный_SSH-ключ>'
      ```

      Где `--metadata` — [метаданные](../../concepts/vm-metadata.md) виртуальной машины:

      * `enable-oslogin` — параметр, отвечающий за доступ к ВМ по [OS Login](../../../organization/concepts/os-login.md). Возможные значения:

          * `true` — чтобы включить доступ к ВМ по OS Login. В этом случае доступ по SSH-ключу, заданному через метаданные, будет невозможен.
          * `false` — чтобы отключить доступ к ВМ по OS Login. Доступ к ВМ будет возможен только по SSH-ключу, заданному через метаданные.
      * `serial-port-enable=0` — параметр, запрещающий доступ к ВМ через серийную консоль.
      * `ssh-keys` — имя локального пользователя ВМ и содержимое [публичного SSH-ключа](../vm-connect/ssh.md#creating-ssh-keys), с которым этот пользователь сможет подключаться к ВМ по SSH.

      Подробнее о команде `yc compute instance update` читайте в [справочнике CLI](../../../cli/cli-ref/compute/cli-ref/instance/update.md).

{% endlist %}

#### Полезные ссылки {#see-also}

* [Серийная консоль виртуальной машины](../../concepts/serial-console.md)
* [Подключиться к серийной консоли виртуальной машины с ОС Linux](connect-ssh.md)
* [Подключиться к серийной консоли виртуальной машины с ОС Windows](windows-sac.md)