# SSH-ключи и доступ (https://docs.h3llo.cloud/compute/ssh)

> Какие ключи поддерживаются, как добавить ключ и выдать доступ к ВМ участникам проекта.

## SSH-ключи [#ssh-ключи]

Ключи хранятся в разделе «SSH-ключи» и принадлежат пользователю, а не проекту. Добавить ключ: «Новый SSH-ключ»,
имя и публичный ключ (текстом или файлом `.pub` / `.txt`). Ключ нельзя изменить — только переименовать. Чтобы
заменить ключ, добавьте новый и удалите старый.

**Поддерживаются:**

- `ssh-ed25519` (рекомендуем);
- `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521`;
- `ssh-rsa` от 2048 бит (ключи короче 3072 бит консоль помечает как слабые);
- аппаратные ключи FIDO2: `sk-ssh-ed25519@openssh.com`, `sk-ecdsa-sha2-nistp256@openssh.com`.

**Не поддерживаются:** `ssh-dss`, RSA короче 2048 бит, SSH-сертификаты, опции `authorized_keys` (кроме
`verify-required` и `no-touch-required` для `sk-*` ключей).

Опция «Требовать PIN токена» для FIDO-ключей работает, если внутри ВМ OpenSSH 8.4 или новее.

## Ключи при создании ВМ [#ключи-при-создании-вм]

В форме создания ВМ выберите один или несколько своих ключей. Для Linux-образов ключ обязателен, для Windows — нет.

## Доступ участников проекта [#доступ-участников-проекта]

При создании ВМ можно сразу выдать SSH-доступ другим участникам проекта, а позже — добавить или отозвать его в
карточке ВМ. Ключи участника попадают на работающую ВМ через гостевой агент, без перезагрузки.

Переключатель «Управление ключами через агент» включён по умолчанию. Он недоступен для образов без
`qemu-guest-agent`: на таких ВМ ключи задаются только при создании.

В API это `GET /api/vms/v1/{id}/ssh-access` и `PUT|DELETE /api/vms/v1/{id}/ssh-access/grants/{user_id}` ([справочник](https://docs.h3llo.cloud/api/reference/vms)).
