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

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

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

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

  1. создание нового ключа с генератором ключей шпатлевки (SSH-2 RSA)
  2. введите пароль
  3. сохранение частная ключ
  4. сохранение открытого ключа и добавление a .расширение паба
  5. копирование / вставка ключа из окна генератора ключей шпаклевки в github
  6. попытка обновить ветви при извлечении из моего частного репозитория github из моего локального РЕПО с помощью URL-адреса клона SSH, который я получил от github

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

Что я делаю не так?

4 ответов


чтобы заставить его работать, я в конечном итоге пошел в Tools - > Options - > SSH Client и изменил его на OpenSSH. Я сгенерировал и отправил несколько разных типов ключей, пытаясь заставить его работать, но я думаю, что это то, что наконец сделал это.


в моем случае мне нужно было переключиться на git или ssh путь к РЕПО, а не https путь к РЕПО. Это заставляет SourceTree переключаться на аутентификацию на основе SSH.

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

пример:

правильно пути РЕПО

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

или

ssh://git@github.com/<username>/<reponame>.git

(Примечание: Если вы работаете с РЕПО, которое не является вашим, замените username С organization name)

неправильно путь РЕПО

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

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


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

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

Steps


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