# Генерация SSH ключа

Для работы с репозиториями проектов необходимо использовать защищенный протокол ssh. Он требует, чтобы у каждого пользователя был свой личный ssh ключ (точнее пара открытый/закрытый ключ).

Если у вас уже есть ssh ключ, то вы можете использовать его при настройке рабочего GitLab аккаунта. В противном случае, ключ нужно сгенерировать. Для этого выполните следующие действия (предполагается использование OpenSSH):

{% tabs %}
{% tab title="Windows" %}
1\. Запустите Git Bash.

Если git установлен в системе, то нажмите "Пуск" и начните вводить с клавиатуры слово git. Достаточно быстро поиск наведет вас на цель - Git Bash.

<div align="left"><img src="/files/-MZSjgiIuhAzYhwDcxc1" alt=""></div>

2\. В открывшемся окне терминала выполните команду, заменив `<comment>` на ваш рабочий email:

```bash
ssh-keygen -t ed25519 -C "<comment>"
```

В процессе работы ssh-keygen задаст несколько вопросов, а также попросит ввести пароль для защиты ключа. **Ничего не вводите**, просто нажимайте Enter до тех пор, пока вопросы не закончатся. В будущем это упростит вам работу.

<div align="left"><img src="/files/-MZSkhCvR1qkHqUhtPFL" alt=""></div>

3\. Следом выполните команду:

```bash
cat ~/.ssh/id_ed25519.pub
```

Она выведет в терминал ваш только что созданный **публичный ключ** - строка вида: `ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL6bmP94QzgirYFWAQ+0prP1dbPslapfaTHOmkaakOIs george.gromov@hypernovateam.com`

Выделите эту строку (мышкой), **скопируйте** в буфер обмена (Ctrl + Insert) и **временно где-нибудь сохраните**. Она потребуется на следующем шаге.

<div align="left"><img src="/files/-MZSlF2jaAUVKhsMP967" alt=""></div>
{% endtab %}

{% tab title="MacOS" %}
1\. Откройте окно терминала.

2\. Выполните команду, заменив `<comment>` на ваш рабочий email:

```bash
ssh-keygen -t ed25519 -C "<comment>"
```

В процессе работы ssh-keygen задаст несколько вопросов, а также попросит ввести пароль для защиты ключа. **Ничего не вводите**, просто нажимайте Enter до тех пор, пока вопросы не закончатся. В будущем это упростит вам работу.

<div align="left"><img src="/files/-MZSqVsPwVL2wlKEnbof" alt=""></div>

3\. Следом выполните команду:

```bash
cat ~/.ssh/id_ed25519.pub
```

Она выведет в терминал Ваш только что созданный **публичный ключ** - строка вида:`ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL6bmP94QzgirYFWAQ+0prP1dbPslapfaTHOmkaakOIs george.gromov@hypernovateam.com`

Выделите эту строку (мышкой), **скопируйте** в буфер обмена (Cmd + C) и **временно где-нибудь сохраните**. Она потребуется на следующем шаге.

![](/files/-MZSqhxNs0KvbfyrJXwd)
{% endtab %}
{% endtabs %}

Далее новый публичный ключ нужно добавить ваш GitLab аккаунт:

{% content-ref url="/pages/-MZSnTQY23Eh9\_1jhvWJ" %}
[Регистрация SSH ключа](/workstation-setup/git/registraciya-ssh-klyucha.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bartt-hypernova.gitbook.io/workstation-setup/git/generaciya-ssh-klyucha.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
