Ключи, обрабатываемые в публичных образах Yandex Cloud
Список ключей, которые обрабатываются сервисом метаданных в публичных образах Yandex Cloud, зависит от операционной системы образа:
-
serial-port-enable
— ключ, отвечающий за доступ к серийной консоли виртуальной машины. Возможные значения:0
— доступ к серийной консоли выключен. Значение по умолчанию.1
— доступ к серийной консоли включен.
-
enable-oslogin
— ключ, отвечающий за доступ к виртуальной машине через OS Login. Возможные значения:false
— доступ через OS Login выключен. Значение по умолчанию.true
— доступ через OS Login включен.
-
user-data
— ключ, содержащий строку с пользовательскими метаданными, которые будут обработаны агентом cloud-init , запущенным на ВМ.Cloud-init поддерживает разные форматы
передачи метаданных, например cloud-config . В этом формате вы можете передать SSH-ключи и указать, какому пользователю принадлежит каждый ключ. Для этого укажите их в элементеusers/ssh_authorized_keys
:#cloud-config users: - name: <имя_пользователя> groups: sudo shell: /bin/bash sudo: 'ALL=(ALL) NOPASSWD:ALL' ssh_authorized_keys: - <публичный_SSH-ключ_1> - <публичный_SSH-ключ_2> - ...
Где:
-
name
— имя пользователя ВМ. -
ssh_authorized_keys
— список публичных SSH-ключей для доступа к ВМ.Пример ключа:
ssh-ed25519 AAAAB3Nza...Pu00jRN
.
Чтобы передать эти данные в запросе, замените переносы строки символом
\n
:"metadata": { "user-data": "#cloud-config\nusers:\n - name: user\n groups: sudo\n shell: /bin/bash\n sudo: 'ALL=(ALL) NOPASSWD:ALL'\n ssh_authorized_keys:\n - ssh-ed25519 AAAAB3Nza......OjbSMRX user@example.com\n - ssh-ed25519 AAAAB3Nza...Pu00jRN" }
В ключе
user-data
также можно описать скрипты для установки программного обеспечения, которые нужно выполнить при создании новой ВМ, а также передать в ВМ секреты Yandex Lockbox и переменные, значения которых позднее можно будет получить изнутри ВМ. -
-
ssh-keys
— ключ, отвечающий за доставку публичного SSH-ключа на ВМ Linux через Terraform. Указывается в формате<имя_пользователя>:<содержимое_SSH-ключа>
, напримерuser:ssh-ed25519 AAAAB3Nza...Pu00jRN
. Если указать несколько ключей, будет использован только первый из них.
user-data
— ключ, содержащий строку с пользовательскими метаданными, которые будут обработаны агентом Cloudbase-Init
"metadata": {
"user-data": "#ps1\nnet user Administrator Passw0rd"
}