---
title: "Создать пару SSH-ключей и добавить публичный SSH-ключ через Terraform"
sidebar_label: "Создать пару SSH-ключей и добавить публичный SSH-ключ"
sidebar_position: 8
description: "Как создать пару SSH-ключей и добавить публичный SSH-ключ пользователю"
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import ConfigureProviders from '@site/terraform/_partials/common/configure-providers.mdx'
import ConfigureProvidersConfig from '@site/terraform/_partials/common/configure-providers-config.mdx'
import CreateResourcesAlert from '@site/terraform/_partials/common/create-resources-alert.mdx'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'

# Создать пару SSH-ключей и добавить публичный SSH-ключ через Terraform

<CreateResourcesAlert />

<br />

1. Опционально: [настройте провайдеры](#configure-providers).

2. [Создать пару SSH-ключей](#create-ssh-keypair).

3. [Добавить публичный SSH-ключ](#add-ssh-public-key).

## Конфигурационные файлы \{#config}

<details>
  <summary>Пример файла для настройки провайдеров</summary>

  <ConfigureProvidersConfig />
</details>

<details>
  <summary>Пример файла для добавления публичного SSH-ключа для всех регионов</summary>

  ```hcl
  resource "selectel_vpc_keypair_v2" "keypair_1" {
    name       = "keypair"
    public_key = file("~/.ssh/id_rsa.pub")
    user_id    = selectel_iam_serviceuser_v1.serviceuser_1.id
  }
  ```
</details>

<details>
  <summary>Пример файла для добавления публичного SSH-ключа для определенного региона</summary>

  ```hcl
  resource "selectel_vpc_keypair_v2" "keypair_2" {
    name       = "keypair-ru-9"
    public_key = file("~/.ssh/id_rsa.pub")
    user_id    = selectel_vpc_user_v2.user_1.id
    regions    = [
        "ru-9"
        ]
  }
  ```
</details>

## 1. Опционально: настроить провайдеры \{#configure-providers}

Если вы настроили провайдеры Selectel и OpenStack, пропустите этот шаг.

<ConfigureProviders />

## 2. Создать пару SSH-ключей \{#create-ssh-keypair}

[Создайте пару SSH-ключей](/cloud-servers/manage/create-and-place-ssh-key/#create-ssh-keys) на локальном компьютере.

## 3. Добавить публичный SSH-ключ \{#add-ssh-public-key}

<Tabs queryString="add-ssh-public-key">
  <TabItem value="ssh-for-all-regions">
    <TabItemLabel>
      Для всех регионов
    </TabItemLabel>

    ```hcl
    resource "selectel_vpc_keypair_v2" "keypair_1" {
      name       = "keypair"
      public_key = file("~/.ssh/id_rsa.pub")
      user_id    = selectel_iam_serviceuser_v1.serviceuser_1.id
    }
    ```

    Здесь `public_key` — путь до публичного SSH-ключа, который вы [создали](#create-ssh-keypair).

    Посмотрите подробное описание ресурса [selectel\_vpc\_keypair\_v2](/terraform/selectel-provider-reference/resources/vpc_keypair_v2/).
  </TabItem>

  <TabItem value="ssh-for-specific-region">
    <TabItemLabel>
      Для определенного региона
    </TabItemLabel>

    ```hcl
    resource "selectel_vpc_keypair_v2" "keypair_2" {
      name       = "keypair-ru-9"
      public_key = file("~/.ssh/id_rsa.pub")
      user_id    = selectel_vpc_user_v2.user_1.id
      regions    = [
          "ru-9"
          ]
    }
    ```

    Здесь `public_key` — путь до публичного SSH-ключа, который вы [создали](#create-ssh-keypair).

    Посмотрите подробное описание ресурса [selectel\_vpc\_keypair\_v2](/terraform/selectel-provider-reference/resources/vpc_keypair_v2/).
  </TabItem>
</Tabs>

<Formbricks />
