Подтвердить что ты не робот

Не удалось получить ключи SSH, работающие между sourcetree и github

Мне удалось создать ключ и подключиться к github, следуя этим инструкциям с помощью командной строки:

https://help.github.com/articles/generating-ssh-keys

Однако, когда я пытаюсь подключиться через Sourcetree и putty, я не могу. Я пробовал:

  • создание нового ключа с генератором ключей шпатлевки (SSH-2 RSA)
  • ввод кодовой фразы
  • сохранение закрытого ключа
  • сохранение открытого ключа и добавление расширения .pub
  • копирование/вставка ключа из окна генератора ключей шпатлевки в github
  • чтобы обновить ветки на тяге из моего частного репозитория github из моего локального репо с использованием URL-адреса клонирования SSH, который я получил от github

Я также попытался открыть ключ, сгенерированный в командах командной строки github, и хотел, чтобы я преобразовал его в ключ типа шпатлевки, который я сделал, и сохранил его, и попытался с ним. Также не повезло.

Что я делаю неправильно?

4b9b3361

Ответ 1

Чтобы это сработало, я перешел в Инструменты → Параметры → Клиент SSH и изменил его на OpenSSH. Я сгенерировал и загрузил несколько разных типов ключей, пытаясь заставить его работать, но я думаю, что это то, что в конце концов это сделало.

Ответ 2

В моем случае мне нужно было переключиться на путь репо на git или ssh, а не на репо-путь https. Это приводит к тому, что SourceTree переключается на аутентификацию на основе SSH.

Этот параметр можно найти в Repository => Repository setting => Paths

Пример:

Исправить пути репо

[email protected]:<username>/<reponame>.git

или

ssh://[email protected]/<username>/<reponame>.git

(Примечание: если вы работаете с репо, которое не принадлежит вам, замените username на organization name)

Неверный путь репо

https://github.com/<username>/<reponame>.git

Пути ретрансляции HTTPS приводят к тому, что SourceTree пытается быть более умным и неэффективным. Вам будет предложено диалоговое окно GUI пользователя/пароля, которое никогда не будет работать, если вы включили двухфакторную аутентификацию.

Ответ 3

Возможно, вам захочется переключиться с OpenSSH на Putty/Plink и использовать встроенный Git вместо Git, предоставляемый операционной системой хоста. Сделать работу с ssh-agent в Windows немного сложнее, чем щелкнуть прямо из SourceTree и PuttyGen.

Если вы хотите использовать терминал для настройки SSH и запускать ssh-agent, см. нижние два шага.

Steps

Ответ 4

Для Sourcetree на MacOS мне пришлось перейти от OAuth к базовой аутентификации, использовать "git" в качестве имени пользователя (не моего имени пользователя GitHub) и сгенерировать ключ SSH и ввести его в GitHub. Только тогда я мог бы клонировать репозиторий GitHub через SSH в Sourcetree.

Ответ 5

Ответ @brettlyman работал на меня.

Для Sourcetree на MacOS мне пришлось перейти с OAuth на обычную аутентификацию, использовать "git" в качестве имени пользователя (не моего имени пользователя GitHub), сгенерировать ключ SSH и ввести его в GitHub. Только тогда я смог клонировать репозиторий GitHub через SSH в Sourcetree.