Подключение к серийной консоли виртуальной машины с помощью CLI
После включения доступа, вы можете подключиться к серийной консоли для взаимодействия с ВМ.
Важно
Оцените риск включения доступа через серийную консоль, учитывая следующие факторы:
-
ВМ будет доступна для управления из интернета даже в случае отсутствия внешнего IP-адреса.
Получить доступ к серийной консоли ВМ из консоли управления Yandex Cloud сможет пользователь, успешно аутентифицированный в консоли управления Yandex Cloud при наличии должных прав на ВМ. Доступ к серийной консоли ВМ из клиентского приложения SSH (например, Putty) или YC CLI также возможен путем аутентификации через SSH-ключ. В связи с этим необходимо тщательно контролировать SSH-ключ и завершать веб-сессию для снижения рисков ее перехвата. -
Сессия будет доступна одновременно всем пользователям, имеющим право доступа к серийной консоли.
Действия одного пользователя будут видны другим пользователям, если в это время они смотрят вывод серийной консоли. -
Незавершенная сессия может быть использована другим пользователем.
Мы рекомендуем включать серийную консоль только в случае крайней необходимости, выдавать такой доступ узкому кругу лиц и использовать стойкие пароли для доступа к ВМ.
Не забывайте отключать доступ после работы с серийной консолью.
Подключиться к серийной консоли
Примечание
Работа серийной консоли зависит от настроек используемой операционной системы. Сервис Compute Cloud обеспечивает канал между пользователем и COM-портом ВМ и не гарантирует стабильность работы консоли со стороны ОС.
Чтобы подключиться к серийной консоли, используйте CLI.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Дальнейший порядок действий по подключению зависит от операционной системы и от того, включен ли для ВМ доступ по OS Login. Если для ВМ включен доступ по OS Login, подключение к серийной консоли происходит с использованием короткоживущих SSH-сертификатов. Для подключения к ВМ с выключенным доступом по OS Login используются SSH-ключи.
Некоторые ОС могут запрашивать данные пользователя для доступа на ВМ. Поэтому перед подключением к серийной консоли таких ВМ необходимо создать локальный пароль пользователя.
-
Создайте локальный пароль пользователя на ВМ:
- Подключитесь к ВМ по SSH.
-
Создайте пользователя для аутентификации на ВМ через серийную консоль и задайте для него локальный пароль:
sudo useradd <имя_пользователя> && sudo passwd <имя_пользователя>
Где
<имя_пользователя>
— имя создаваемого пользователя, напримерyc-user
.По запросу системы введите пароль пользователя, затем подтвердите его.
Результат:
passwd: password updated successfully
- Отключитесь от ВМ. Для этого введите команду
logout
.
-
Посмотрите описание команды CLI для подключения к серийной консоли:
yc compute connect-to-serial-port --help
-
Получите список ВМ в каталоге по умолчанию:
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 | +----------------------+-----------------+---------------+---------+----------------------+
-
Подключитесь к серийной консоли нужной ВМ:
yc compute connect-to-serial-port \ --instance-name <имя_ВМ> \ --ssh-key ~/.ssh/id_ed25519
Где:
-
--instance-name
— обязательный параметр. Имя виртуальной машины.
Вместо имени ВМ можно передать ее идентификатор в параметре--instance-id
. -
--ssh-key
— опциональный параметр. Путь к закрытому ключу для SSH-доступа к ВМ, например~/.ssh/id_ed25519
. Если параметр не указан, будет сгенерирован SSH-ключyc_serialssh_key
.
Внимание
Для подключения к серийной консоли виртуальной машины по SSH можно использовать только незащищенный паролем ключ. В противном случае соединение будет разорвано после ввода пароля.
При подключении система может запросить логин и пароль для аутентификации на ВМ. Введите созданные ранее логин и пароль, после чего вы получите доступ к серийной консоли.
Подробнее о команде
yc compute connect-to-serial-port
читайте в справочнике CLI. -
-
Создайте локальный пароль пользователя на ВМ:
- Подключитесь к ВМ по OS Login.
-
Создайте пользователя для аутентификации на ВМ через серийную консоль и задайте для него локальный пароль:
sudo useradd <имя_пользователя> && sudo passwd <имя_пользователя>
Где
<имя_пользователя>
— имя создаваемого пользователя, напримерyc-user
.По запросу системы введите пароль пользователя, затем подтвердите его.
Результат:
passwd: password updated successfully
- Отключитесь от ВМ. Для этого введите команду
logout
.
-
Получите список ВМ в каталоге по умолчанию:
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 | +----------------------+-----------------+---------------+---------+----------------------+
-
Включите для ВМ авторизацию по OS Login при подключении к серийной консоли, указав имя ВМ:
yc compute instance update \ --name <имя_ВМ> \ --serial-port-settings ssh-authorization=OS_LOGIN
Результат:
done (6s) id: fhm0b28lgfp4******** folder_id: b1g9d2k0itu4******** created_at: "2024-03-28T19:53:23Z" name: first-instance zone_id: ru-central1-a platform_id: standard-v3 resources: memory: "1073741824" cores: "2" core_fraction: "20" status: RUNNING metadata_options: gce_http_endpoint: ENABLED aws_v1_http_endpoint: ENABLED gce_http_token: ENABLED aws_v1_http_token: DISABLED boot_disk: mode: READ_WRITE device_name: epdu3ce920e7******** auto_delete: true disk_id: epdu3ce920e7******** network_interfaces: - index: "0" mac_address: d0:0d:5c:**:**:** subnet_id: e2luhnr3rhf8******** primary_v4_address: address: 192.168.1.21 one_to_one_nat: address: 51.250.***.*** ip_version: IPV4 security_group_ids: - enpjauvetqfb******** serial_port_settings: ssh_authorization: OS_LOGIN gpu_settings: {} fqdn: sample-vm.ru-central1.internal scheduling_policy: preemptible: true network_settings: type: STANDARD placement_policy: {}
-
Посмотрите описание команды CLI для подключения к серийной консоли:
yc compute connect-to-serial-port --help
-
Подключитесь к серийной консоли нужной ВМ:
yc compute connect-to-serial-port \ --instance-name <имя_ВМ>
Где
--instance-name
— обязательный параметр. Имя виртуальной машины. Вместо имени ВМ можно передать ее идентификатор в параметре--instance-id
.При подключении система может запросить логин и пароль для аутентификации на ВМ. Введите созданные ранее логин и пароль, после чего вы получите доступ к серийной консоли.
Подробнее о команде
yc compute connect-to-serial-port
читайте в справочнике CLI.
-
Посмотрите описание команды CLI для подключения к серийной консоли:
yc compute connect-to-serial-port --help
-
Получите список ВМ в каталоге по умолчанию:
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 | +----------------------+-----------------+---------------+---------+----------------------+
-
Подключитесь к SAC Windows нужной ВМ:
yc compute connect-to-serial-port \ --instance-name <имя_ВМ> \ --port 2
Где:
--instance-name
— обязательный параметр. Имя виртуальной машины. Вместо имени ВМ можно передать ее идентификатор в параметре--instance-id
.--port
— опциональный параметр. Номер порта для подключения к серийной консоли. При подключении к серийной консоли Windows (SAC) передайте значение2
.
По запросу системы введите логин, домен (имя ВМ) и пароль. Подробнее см. в разделе Запустить командную оболочку в Windows SAC.
Подробнее о команде
yc compute connect-to-serial-port
читайте в справочнике CLI.
Решение проблем
- Если после подключения к серийной консоли на экране ничего не отображается:
- Нажмите на клавиатуре клавишу Enter.
- Перезапустите ВМ (для ВМ, созданных до 22 февраля 2019 года).
Отключиться от серийной консоли
Чтобы отключиться от серийной консоли:
- Нажмите на клавиатуре клавишу Enter.
- Введите последовательно символы
~.
.