Создание SSH-ключа
С помощью OpenSSH
- Воспользоваться утилитой "ssh-keygen.exe" из поставки Git:
C:\Program Files (x86)\Git\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
- Полученные ключи разместить в
%USERPROFILE%\.ssh
. Имена файлов с ключами должны быть:
- id_rsa - приватный ключ
- id_rsa.pub - публичный ключ
- Создать файл
%USERPROFILE%\.ssh\config
в котором прописать:
Host source.isimplelab.com
Port 222
С помощью PuTTY (только для пользователей Windows)
-
Скачать и установить PuTTY
-
Воспользоваться утилитой puttygen для генерации ключа. Комментарий к ключу (Key comment) - email пользователя, который указан в GitLab (USERNAME@DOMAIN.TLD).
-
Скопировать значение публичного ключа, для последующего указания его в настройках профайла Git Lab. Секретный ключ сохранить в удобную дирекорию - файл с данным ключом должен иметь расширение *.ppk.
-
Создать системную переменную 'GIT_SSH', прописать в ней путь к утилите plink.exe входящей в состав PuTTY. Например, 'GIT_SSH=C:\PuTTY\plink.exe'. Если msysgit для Windows ставится после Putty, то в процессе установки можно выбрать использование PuTTY в качестве ssh агента - тогда эта переменная будет уже прописана.
-
Запусть pagent.exe входящий в состав PuTTY и добавить в него сохраненный секретный ключ (файл с расширением *.ppk). При добавлении ключа, pagent.exe попросит ввести пароль от ключа (passphrase). Для того чтобы при перезапуске системы, ключ добавлялся автоматически - необходимо создать ярлык для pagent.exe передав в качестве параметра путь к ключу, например, путь в ярлыке будет следующего вида: 'C:\PuTTY\pagent.exe C:\keys\private_key.ppk'. Созданный ярлык добавить в Автозапуск.
-
В пути создать и сохранить сессию подключения к хосту GitLab. Host: source.isimplelab.com Port: 222, во вкладке Connection/SSH/Auth выбрать соответствующий ppk ключ и выбрать параметр "Allow agent forwarding". Сессию сохранить под именем source.isimplelab.com.
-
Выполнить подключение через созданную сессию, в качестве имени пользователя указать "git", сервер должен ответить "Welcome to GitLab %USERNAME%". Данный шаг, необходим, чтобы plink добавил source.isimplelab.com в список доверенных хостов.
Добавление SSH-ключа:
- Заходите в GitLab.
- Щёлкаете по значку со всплывающей подсказкой "Profile settings".
- На странице профиля выбираете группу настроек "SSH Keys".
- Нажимаете на кнопку "Add SSH Key".
- В поле "Title" вводите любой заголовок.
- В поле "Key" копируете содержимое файла "id_rsa.pub" (в случае использования PuTTY значение скопированное на шаге 3).
- Нажимаете на кнопку "Add key".