Передача локального репо на репо GitHub, яка має двофакторну аутентифікацію


9

Я намагаюся надіслати код у моєму локальному репо (в системі OS X 10.8.5 із встановленим додатком GitHub і увійшов у нього) до репо, створеного на GitHub, через їх веб-сайт, використовуючи командний рядок. Як не дивно, коли я намагаюся git push -u origin master, я входжу в систему зі своїми (правильними) обліковими записами GitHub і отримую fatal: Authentication failed.

Я використовую двофакторну автентифікацію, але автентифікував машину з цією проблемою за допомогою програми GitHub. Я також отримав відповідний ключ SSH для цієї операції.

У чому причина цього питання? Як це можна виправити?

Відповіді:


15

Двофакторний auth зазвичай не працює на одній машині - він працює на клієнта. Коли ви входите в GitHub за допомогою веб-браузера, саме веб-браузер запам'ятовує файли cookie як з інформацією про автентифікацію, так і зі статусом 2FA. git про це не знає.

Щоб натиснути на HTTP (S), вам потрібно буде створити вторинний пароль ("персональний маркер доступу") на сторінці налаштувань програми GitHub (скористайтесь кнопкою "Створити новий маркер"). Зауважте, що git може запам'ятати "пароль", якщо ви не хочете кожен раз вводити його / вставити.


Підтримка GitHub насправді повернулася до мене тим самим рішенням, яке чудово працює. Дякую!
Jules
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.