Как настроить SSH ключ для GitLab под Windows

Если у вас истек срок годности SSH ключа для доступа на GitLab или же нужно создать новый ключ доступа, можно воспользоваться следующей инструкцией.

How to set up an SSH key for GitLab on Windows
How to set up an SSH key for GitLab on Windows

1. Создаем новый ключ для GitLab без пароля (passphrase)

ssh-keygen -t ed25519 -C "New project" -f %USERPROFILE%\.ssh\id_new_project -N ""

2. Заходим на сайт https://gitlab.com/-/user_settings/ssh_keys

  • Жмем на кнопку "Add New Key"
  • В поле "Key" вставляем текст из файла id_new_project.pub
Добавляем текст из файла с публичным ключом на сайте GitLab
Добавляем текст из файла с публичным ключом на сайте GitLab
  • Чтобы наш SSH ключ не протухал со временем убираем дату из поля "Expiration date"
  • И жмем на голубую кнопку "Add key"
Финальная стадия добавления публичного SSH ключа на сайте GitLab
Финальная стадия добавления публичного SSH ключа на сайте GitLab

3. Создаем новый или редактируем файл SSH конфига: %USERPROFILE%\.ssh\config

Host gitlab.com HostName gitlab.com User git IdentityFile ~/.ssh/id_new_project IdentitiesOnly yes

4. Проверяем, что новый SSH ключ работает

Запустите в консоли команду:

ssh -T git@gitlab.com 2>&1 | findstr /C:"Welcome to GitLab" >nul && echo "OK: GitLab SSH key works" || echo "ERROR: GitLab SSH key failed"

Если увидели текст "OK: GitLab SSH key works" значит всё в порядке, наш новый SSH ключ активирован и успешно работает.

5. В директории проекта проверяем, что Git использует SSH, а не HTTPS

git remote -v

Если видим подобный текст:

https://gitlab.com/YOUR_USER_NAME/YOUR_PROJECT.git

Значит git настроен через авторизацию через HTTPS, а значит нужно выполнить следующую команду:

git remote set-url origin git@gitlab.com:YOUR_USER_NAME/YOUR_PROJECT.git

6. Проверяем Git в директории проекта

git pull

Если нет изменений в репозитории проекта, увидим сообщение:

Already up to date.

Всё, мы успешно добавили новый SSH ключ для GitLab.

Продуктивной работы!

P.S. Статья также будет полезна

Если при попытке работы с Git, например:

git push

стало появляться сообщение, что нужно авторизироваться (ввести логин и пароль).

Начать дискуссию