# Устранение ошибки `Permission denied` при подключении к виртуальной машине после ее создания средствами Terraform


## Описание проблемы {#issue-description}

Попытка подключения к виртуальной машине по SSH после ее создания средствами Terraform возвращает ошибку `Permission denied`.

## Решение {#issue-resolution}

При передаче ключа в параметре `ssh-keys` текст, указанный в комментарии к SSH-ключу, не будет обработан. В результате указанный ключ будет присвоен пользователю, который задан в конфигурации `cloud-init` для этого образа по умолчанию. 

{% note info %}

В разных образах ВМ имя такого пользователя может отличаться. Подробнее об этом пишем в [документации](../../../compute/concepts/vm-metadata.md#keys-processed-in-public-images).

{% endnote %}

Если при создании ВМ необходимо добавить пользователя с определенным именем, то понадобится передать его метаданные в YAML-формате, совместимом с `cloud-init`, указав путь к файлу с метаданными в Terraform-манифесте:

1. Создайте текстовый файл в кодировке UTF-8 с содержимым:

```
#cloud-config
users:
  - name: <имя пользователя>
    groups: sudo
    shell: /bin/bash
    sudo: 'ALL=(ALL) NOPASSWD:ALL'
    ssh_authorized_keys:
      - ssh-ed25519 AAAAB3Nza......OjbSMRX user@example.com
      - ssh-ed25519 AAAAB3Nza......Pu00jRN user@desktop
```

1. В блоке `metadata` внутри вашего Terraform-манифеста укажите следующее:

```
metadata = {
    user-data = "${file("<путь_к_файлу>")}"
}
```

Посмотреть информацию о пользователе и ключе можно [в выводе последовательного порта](../../../compute/operations/vm-info/get-serial-port-output.md) для созданной ВМ. Если SSH-ключ задан правильно, то вывод должен содержать:

```
ci-info: ++++++++++++++++++++++++++++++++++++++Authorized keys from /home/test/.ssh/authorized_keys for user ubuntu++++++++++++++++++++++++++++++++++++
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+----------------------+
ci-info: | Keytype |                                       Fingerprint (sha256)                                      | Options |       Comment        |
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+----------------------+
ci-info: | ssh-rsa | 7f:fa:ab:5c:b5:67:6b:4a:65:1e:65:bb:93:13:0b:0b:d2:06:52:63:bf:ed:c6:16:4d:55:b6:fb:c5:a2:30:f0 |    -    | some_text            |
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+----------------------+
```

Где `ubuntu` - имя пользователя, а `ssh-rsa` - отпечаток SSH-ключа. 

{% note alert %}

Вывод последовательного порта с этой информацией доступен после создания ВМ до первой перезагрузки.

{% endnote %}