| 
 | 
 | 
## Создание SSH-ключа
 | 
| 
 | 
 | 
Создание SSH-ключа
 | 
| 
 | 
 | 
==================
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
### С помощью OpenSSH
 | 
| 
 | 
 | 
С помощью OpenSSH в Windows
 | 
| 
 | 
 | 
---------------------------
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
1) Воспользоваться утилитой "ssh-keygen.exe" из поставки Git: 
 | 
| 
 | 
 | 
1. Воспользоваться утилитой "ssh-keygen.exe" из поставки Git: 
 | 
| 
 | 
 | 
```
 | 
| 
 | 
 | 
C:\Program Files\Git\usr\bin\ssh-keygen -t rsa -C USERNAME@DOMAIN.TLD
 | 
| 
 | 
 | 
```
 | 
| 
 | 
 | 
где USERNAME@DOMAIN.TLD необходимо заменить на ваш email, например v.pupkin@isimplelab.com  
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
На запрос Passphrase нажать Enter. Задавать passphrase нет необходимости, в противном случае система будет требовать её при каждом обращении к удалённому репозиторию.
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
В случае использования ОС Windows: 
 | 
| 
 | 
 | 
- при запуске утилиты через Far Manager или командную строку, необходимо запустить их из под Администратора
 | 
| 
 | 
 | 
- если в переменных окружения указать переменную HOME, то по умолчанию ключ будет сгенерен в `%HOME%\.ssh\id_rsa`
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
2) Полученные ключи разместить в `%USERPROFILE%\.ssh`. Имена файлов с ключами должны быть:
 | 
| 
 | 
 | 
1. Полученные ключи разместить в `%USERPROFILE%\.ssh`. Имена файлов с ключами должны быть:
 | 
| 
 | 
 | 
  - id_rsa - приватный ключ
 | 
| 
 | 
 | 
  - id_rsa.pub - публичный ключ
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
3) Создать файл `%USERPROFILE%\.ssh\config` в котором прописать:
 | 
| 
 | 
 | 
2. Создать файл `%USERPROFILE%\.ssh\config` в котором прописать:
 | 
| 
 | 
 | 
```
 | 
| 
 | 
 | 
Host source.isimplelab.com
 | 
| 
 | 
 | 
Port 222
 | 
| 
 | 
 | 
```
 | 
| 
 | 
 | 
### С помощью PuTTY (только для пользователей Windows)
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
1) Скачать и установить [PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
 | 
| 
 | 
 | 
С помощью PuTTY в Windows
 | 
| 
 | 
 | 
-------------------------
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
1. Скачать и установить [PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
2) Воспользоваться утилитой puttygen для генерации ключа. Комментарий к ключу (Key comment) - email пользователя, который указан в GitLab (USERNAME@DOMAIN.TLD).
 | 
| 
 | 
 | 
2. Воспользоваться утилитой puttygen для генерации ключа. Комментарий к ключу (Key comment) - email пользователя, который указан в GitLab (USERNAME@DOMAIN.TLD).
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
3) Скопировать значение публичного ключа, для последующего указания его в настройках профайла Git Lab. Секретный ключ сохранить в удобную дирекорию - файл с данным ключом должен иметь расширение *.ppk.
 | 
| 
 | 
 | 
3. Скопировать значение публичного ключа, для последующего указания его в настройках профайла Git Lab. Секретный ключ сохранить в удобную дирекорию - файл с данным ключом должен иметь расширение *.ppk.
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
4) Создать системную переменную `GIT_SSH`, прописать в ней путь к утилите plink.exe входящей в состав PuTTY. Например, `GIT_SSH=C:\PuTTY\plink.exe`.
 | 
| 
 | 
 | 
4. Создать системную переменную `GIT_SSH`, прописать в ней путь к утилите plink.exe входящей в состав PuTTY. Например, `GIT_SSH=C:\PuTTY\plink.exe`.
 | 
| 
 | 
 | 
_Если msysgit для Windows ставится после Putty, то в процессе установки можно выбрать использование PuTTY в качестве ssh агента - тогда эта переменная будет уже прописана._
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
5) Запусть pagent.exe входящий в состав PuTTY и добавить в него сохраненный секретный ключ (файл с расширением *.ppk). При добавлении ключа, pagent.exe попросит ввести пароль от ключа (passphrase). Для того чтобы при перезапуске системы, ключ добавлялся автоматически - необходимо создать ярлык для pagent.exe передав в качестве параметра путь к ключу, например, путь в ярлыке будет следующего вида: `C:\PuTTY\pagent.exe C:\keys\private_key.ppk`. Созданный ярлык добавить в Автозапуск.
 | 
| 
 | 
 | 
5. Запусть pagent.exe входящий в состав PuTTY и добавить в него сохраненный секретный ключ (файл с расширением *.ppk). При добавлении ключа, pagent.exe попросит ввести пароль от ключа (passphrase). Для того чтобы при перезапуске системы, ключ добавлялся автоматически - необходимо создать ярлык для pagent.exe передав в качестве параметра путь к ключу, например, путь в ярлыке будет следующего вида: `C:\PuTTY\pagent.exe C:\keys\private_key.ppk`. Созданный ярлык добавить в Автозапуск.
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
6) В PuTTY создать и сохранить сессию подключения к хосту GitLab.
 | 
| 
 | 
 | 
6. В PuTTY создать и сохранить сессию подключения к хосту GitLab.
 | 
| 
 | 
 | 
Host: source.isimplelab.com Port: 222, во вкладке Connection/SSH/Auth выбрать соответствующий ppk ключ и выбрать параметр "Allow agent forwarding". *Сессию сохранить под именем source.isimplelab.com.*
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
7) Выполнить подключение через созданную сессию, в качестве имени пользователя указать "git", сервер должен ответить "Welcome to GitLab %USERNAME%". Данный шаг, необходим, чтобы plink добавил source.isimplelab.com в список доверенных хостов.
 | 
| 
 | 
 | 
7. Выполнить подключение через созданную сессию, в качестве имени пользователя указать "git", сервер должен ответить "Welcome to GitLab %USERNAME%". Данный шаг, необходим, чтобы plink добавил source.isimplelab.com в список доверенных хостов.
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
## Добавление SSH-ключа:
 | 
| 
 | 
 | 
Добавление SSH-ключа в GitLab
 | 
| 
 | 
 | 
-----------------------------
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
1. Заходите в GitLab.
 | 
| 
 | 
 | 
2. Щёлкаете по значку со всплывающей подсказкой "Profile settings".
 | 
| 
 | 
 | 
3. На странице профиля выбираете группу настроек "SSH Keys".
 | 
| 
 | 
 | 
4. Нажимаете на кнопку "Add SSH Key".
 | 
| 
 | 
 | 
1. Заходите в [GitLab](https://source.isimplelab.com).
 | 
| 
 | 
 | 
2. Переходите в настройки [профиля пользователя](https://source.isimplelab.com/profile).
 | 
| 
 | 
 | 
3. На странице профиля выбираете группу настроек [SSH Keys](https://source.isimplelab.com/profile/keys).
 | 
| 
 | 
 | 
4. В поле "Key" копируете содержимое файла "id_rsa.pub" (в случае использования PuTTY значение скопированное на шаге 3).
 | 
| 
 | 
 | 
5. В поле "Title" вводите любой заголовок.
 | 
| 
 | 
 | 
6. В поле "Key" копируете содержимое файла "id_rsa.pub" (в случае использования PuTTY значение скопированное на шаге 3).
 | 
| 
 | 
 | 
7. Нажимаете на кнопку "Add key". | 
 | 
 | 
\ No newline at end of file | 
| 
 | 
 | 
6. Нажимаете на кнопку "Add key". |