thumb

Після включення двофакторної аутентифікації в моїй облікового запису GitHub, коли Я запускаю команду Git git push вона видає повідомлення про помилку:

$ git push
Username for 'https://github.com': Username
Password for 'https://Username@github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/username/repository.git/'

Що викликає цю помилку

Це повідомлення про помилку говорить сама за себе. Це означає те, що ми намагаємося використовувати невірне ім’я користувача або пароль. Але Я впевнений в тому, що використовую правильне ім’я користувача і пароль. У моєму випадку, це сталося зі мною після того, як Я включив двухфакторную аутентифікацію (2FA) в моєму акаунті GitHub. Тому я знаю про те, що викликало це повідомлення про помилку.

Як це вирішити

Для того, щоб вирішити цю проблему, нам потрібно всього лише створити особистий token доступу GitHub і використовувати його замість нашого пароля GitHub і двухфакторного коду аутентифікації.

Створення token доступу до персонального доступу GitHub.

У правому верхньому куті будь-якої сторінки натисніть на фотографію свого профілю, потім натисніть Settings.

У лівій бічній панелі натисніть Developer settings.

У лівій бічній панелі натисніть Personal access tokens.

Натисніть Generate new token.

Дайте вашому token ім’я (будь-яке ім’я яке описує мету його створення).

Виберіть області дії або дозволу, які ви хочете надати цьому token. Для того, щоб використовувати ваш token для доступу до репозиторіїв з командного рядка, виберіть repo.

Натисніть Generate token.

Скопіюйте token в буфер обміну. З міркувань безпеки, після відходу зі сторінки, ви не зможете знову побачити token.

Як виправити: fatal: Authentication failed for https://github.com/

Примітка! Ставтеся до своїх token, як до паролів і тримайте їх в таємниці (якщо ви не хочете, щоб інші люди використовували API від вашого імені). При роботі з API, використовуйте token’и як змінні оточення замість hardcoding їх у ваші програми.

Використання token в командному рядку.

Як тільки у нас з’явився token, ми можемо ввести його замість нашого пароля при виконанні операцій Git через HTTPS. Просто введіть свій token після запиту пароля, а потім дивіться на те, як відбувається магія…

git push
Username: your_username
Password: your_token

Примітка! Token’и особистого доступу можуть використовуватися тільки для операцій HTTPS Git. Якщо ваше сховище використовує віддалений URL SSH, вам потрібно буде перемкнути управління з SSH на HTTPS.

Примітка! Якщо вам не буде запропоновано ввести ім’я користувача і пароль, ваші облікові дані можуть бути кешованими на вашому комп’ютері. Ви можете обновить свои учетные данные в Keychain замінити старий пароль на token.

Висновок

Ось і все, готово. Тепер проблема яка виникла після включення двофакторної аутентифікації в облікового запису GitHub усунена. Так просто, чи не так?

Якщо ця стаття допомогла вам вирішити проблему, будь ласка, залиште коментар :smiley:

Дякую за прочитання!