Подключение к хосту Yandex Data Processing через OS Login
Важно
Включить доступ к хостам через OS Login можно только при создании кластера.
OS Login используется вместо SSH-ключей для доступа к виртуальным машинам Yandex Cloud.
Подключиться к хостам кластера Yandex Data Processing через OS Login можно с помощью стандартного SSH-клиента или Yandex Cloud CLI.
Перед подключением:
-
Включите доступ через OS Login на уровне организации.
-
Назначьте пользователю или сервисному аккаунту, от имени которого выполняется подключение, одну из ролей:
compute.osLogin;compute.osAdminLogin.
При подключении с помощью Yandex Cloud CLI дополнительно необходима роль
compute.operator. -
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
Подключитесь с помощью стандартного SSH-клиента
-
Экспортируйте сертификат OS Login.
Примечание
Сертификат действителен один час, потом его нужно экспортировать заново.
Сертификат включает публичную и приватную части. Сохраните путь к приватной части
Identity— он понадобится для подключения к хосту. -
Узнайте IP-адрес хоста Yandex Data Processing:
-
Получите список хостов:
yc dataproc cluster list-hosts <имя_или_идентификатор_кластера>Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Результат:
+------------------------------------------------------+----------------------+------------+----------------------+--------+ | NAME | COMPUTE INSTANCE ID | ROLE | SUBCLUSTER ID | HEALTH | +------------------------------------------------------+----------------------+------------+----------------------+--------+ | rc1a-dataproc-d-q8659net********.mdb.yandexcloud.net | fhmr7sd33fl8******** | DATANODE | c9qaps7qjj2d******** | ALIVE | | rc1a-dataproc-m-hhhifdgl********.mdb.yandexcloud.net | fhmg686pspri******** | MASTERNODE | c9q7aen26lid******** | ALIVE | +------------------------------------------------------+----------------------+------------+----------------------+--------+Сохраните идентификатор ВМ из столбца
COMPUTE INSTANCE ID, соответствующий нужному хосту. -
Получите информацию о ВМ:
yc compute instance get <идентификатор_ВМ>Результат:
... primary_v4_address: address: <внутренний_IP-адрес> one_to_one_nat: address: <внешний_IP-адрес> ip_version: IPV4 ...Если подключаетесь к хосту из интернета, сохраните внешний IP-адрес, а если с промежуточной ВМ — внутренний IP-адрес.
-
-
Подключитесь к хосту:
ssh -i <путь_к_файлу_сертификата> <логин_пользователя>@<IP-адрес_хоста>Где:
-
<путь_к_файлу_сертификата>— путь к сохраненному ранее файлуIdentityсертификата. Например:/home/user1/.ssh/yc-cloud-id-b1gia87mbaom********-orgusername. -
<логин_пользователя>— логин, заданный для этого пользователя в профиле OS Login. Логин также указывается в конце имени экспортированного сертификата OS Login. В примере выше этоorgusername.Примечание
Для сервисных аккаунтов профили OS Login не создаются автоматически. Чтобы подключаться к ВМ или узлу Kubernetes от имени сервисного аккаунта, вручную создайте для него профиль OS Login.
-
<IP-адрес_хоста>— полученный ранее адрес хоста.
При первом подключении к хосту появится предупреждение о неизвестном хосте:
The authenticity of host '158.160.**.** (158.160.**.**)' can't be established. ECDSA key fingerprint is SHA256:PoaSwqxRc8g6iOXtiH7ayGHpSN0MXwUfWHk********. Are you sure you want to continue connecting (yes/no)?Введите в терминале слово
yesи нажмите Enter. -
Подключитесь с помощью CLI
-
Получите список хостов Yandex Data Processing:
yc dataproc cluster list-hosts <имя_или_идентификатор_кластера>Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Результат:
+------------------------------------------------------+----------------------+------------+----------------------+--------+ | NAME | COMPUTE INSTANCE ID | ROLE | SUBCLUSTER ID | HEALTH | +------------------------------------------------------+----------------------+------------+----------------------+--------+ | rc1a-dataproc-d-q8659net********.mdb.yandexcloud.net | fhmr7sd33fl8******** | DATANODE | c9qaps7qjj2d******** | ALIVE | | rc1a-dataproc-m-hhhifdgl********.mdb.yandexcloud.net | fhmg686pspri******** | MASTERNODE | c9q7aen26lid******** | ALIVE | +------------------------------------------------------+----------------------+------------+----------------------+--------+Сохраните идентификатор ВМ из столбца
COMPUTE INSTANCE ID, соответствующий нужному хосту. -
Подключитесь к хосту:
yc compute ssh --id <идентификатор_ВМ>Примечание
Для сервисных аккаунтов профили OS Login не создаются автоматически. Чтобы подключаться к ВМ или узлу Kubernetes от имени сервисного аккаунта, вручную создайте для него профиль OS Login.