не удалось получить SSH-ключи, работающие между sourcetree и github
Я смог создать ключ и подключиться к github, следуя этим инструкциям через командную строку успешно:
https://help.github.com/articles/generating-ssh-keys
однако, когда я пытаюсь подключиться через Sourcetree и putty, я не могу. Я пробовал:
- создание нового ключа с генератором ключей шпатлевки (SSH-2 RSA)
- введите пароль
- сохранение частная ключ
- сохранение открытого ключа и добавление a .расширение паба
- копирование / вставка ключа из окна генератора ключей шпаклевки в github
- попытка обновить ветви при извлечении из моего частного репозитория 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-агента, см. два нижних шага.
для Sourcetree на MacOS мне пришлось перейти от OAuth к базовой аутентификации, используйте" git " в качестве имени пользователя (не мое имя пользователя GitHub), и сгенерируйте ключ SSH и введите его в GitHub. Только тогда я мог клонировать репозиторий GitHub через SSH в Sourcetree.