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

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

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

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

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

<div align="left"><img src="https://505094222-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MZN8_fdYc_drc-O0dll%2F-MZRnUugiZX0T-z3nkDv%2F-MZSjgiIuhAzYhwDcxc1%2Fssh-keygen-step1.png?alt=media&#x26;token=32d2f179-1b19-43b8-83ac-03b98da0cfe6" alt=""></div>

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

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

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

<div align="left"><img src="https://505094222-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MZN8_fdYc_drc-O0dll%2F-MZRnUugiZX0T-z3nkDv%2F-MZSkhCvR1qkHqUhtPFL%2Fssh-keygen-step2.png?alt=media&#x26;token=80a854b3-0ee2-4262-a01a-27deae10e31e" alt=""></div>

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

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

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

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

<div align="left"><img src="https://505094222-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MZN8_fdYc_drc-O0dll%2F-MZRnUugiZX0T-z3nkDv%2F-MZSlF2jaAUVKhsMP967%2Fssh-keygen-step3.png?alt=media&#x26;token=8ac7a094-54e2-42d4-a6e5-a633e9b1637b" 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="https://505094222-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MZN8_fdYc_drc-O0dll%2F-MZRnUugiZX0T-z3nkDv%2F-MZSqVsPwVL2wlKEnbof%2Fssh-keygen-step1.png?alt=media&#x26;token=66536e0a-d422-4a84-9a98-3805d21aa8e3" alt=""></div>

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

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

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

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

![](https://505094222-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MZN8_fdYc_drc-O0dll%2F-MZRnUugiZX0T-z3nkDv%2F-MZSqhxNs0KvbfyrJXwd%2Fssh-keygen-step2.png?alt=media\&token=492df9ea-0fd2-47f7-b558-b59cd743a824)
{% endtab %}
{% endtabs %}

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

{% content-ref url="registraciya-ssh-klyucha" %}
[registraciya-ssh-klyucha](https://bartt-hypernova.gitbook.io/workstation-setup/git/registraciya-ssh-klyucha)
{% endcontent-ref %}
