Настроить SSH-ключи, созданные PuTTY, в GitLab

Oct 06 2020

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

Я прочитал следующие инструкции с этого сайта

  1. Установите Putty и сопутствующие утилиты

  2. Задайте переменную системной среды в Windows (Панель управления \ Система и безопасность \ Система -> и щелкните «Дополнительные параметры системы» на левой панели. Затем нажмите «Переменные среды») GIT_SSH =% path_to_plink.exe% (обратите внимание на ссылку. exe идет туда, где вы установили Putty)

  3. Создайте ключ ssh с помощью puttygen.exe (ssh2-rsa, 4096, comment = GitLab и установите кодовую фразу)

  4. Добавьте ключ в pageant.exe и открытый ключ в свой профиль GitLab

  5. Убедитесь, что вы запустили новую командную оболочку, чтобы git распознал значение GIT_SSH

  6. Попробуйте сначала выполнить эти две команды, чтобы проверить соединение. Это должно дать вам всплывающее окно, которое аутентифицирует соединение

  7. установить Git putty [email protected]:% user% /% repo.git%

Применение:

  1. Запустите pagent.exe из папки Putty
  2. Добавить ключ в pageant.exe

Я все еще не понимаю шаг 5, а на шаге 6 я не вижу команд оболочки для выполнения теста.

Кто-нибудь может помочь?

Обновить:

Проблема заключалась в том, что я не перезапускал свой cmd. Но теперь я получаю это сообщение: ключ хоста сервера не кэширован в реестре. У вас нет гарантии, что сервером является именно тот компьютер, который вы думаете. Отпечаток ключа ssh-ed25519 сервера: ssh-ed25519 255 d7: 0d: ca: f2: c1: 01: 46: 80: 68: 4c: 5d: e6: d4: 52: f9: 16 Если вы доверяете этому хосту, введите «y», чтобы добавить ключ в кеш PuTTY и продолжить соединение. Если вы хотите продолжить подключение только один раз, не добавляя ключ в кеш, введите «n». Если вы не доверяете этому хосту, нажмите Return, чтобы разорвать соединение. Хранить ключ в кеше? (да / нет)

И это не позволяет мне там ничего печатать.

Ответы

1 VonC Oct 06 2020 at 11:31

Убедитесь, что вы запустили новую командную оболочку, чтобы git распознал значение GIT_SSH

Введите git bash, затем " set|grep GIT_SSH"

Если результат пуст, сеанс CMD, в котором вы открыли сеанс, не унаследовал вашу переменную среды пользователя Windows. Откройте новый CMD.

Но я бы не рекомендовал использовать Putty. Git для Windows поставляется с openssh, и этого должно быть достаточно в сеансе git bash

ssh-keygen -t rsa 
<enter a passphrase>

См. Дополнительную информацию на GitHub (это применимо и к GitLab) « Создание нового ключа SSH и добавление его в ssh-agent »

О.П. Петар Яков сообщает того , чтобы зарегистрировать пароль своей учетной записи GitLab в Credential Manager.
Тогда доступ по SSH работает.