Inicjowanie wypychania lub jakiejkolwiek innej akcji za pomocą GitHub z wiersza poleceń (przez https, nie ssh), która wywołuje nazwę użytkownika i hasło, nie tylko kończy się niepowodzeniem, ale kiedy to się dzieje, zwraca
Username for 'https://github.com': username
Password for 'https://[email protected]':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/username/repository.git/'
Nie mam @github.com
adresu. Hasło i nazwa użytkownika są poprawne.
Wiem, że mogę przełączyć się na SSH i używać kluczy, ale to nie wyjaśnia, dlaczego uwierzytelnianie kończy się niepowodzeniem przez https.
Odpowiedzi:
Wsparcie GitHub od razu określiło źródło problemu: autoryzacja dwuskładnikowa.
Aby korzystać z GitHub w powłoce z protokołem https, utwórz token OAuth . Jak zauważa strona, musiałem usunąć moją nazwę użytkownika i hasło z pęku kluczy, ale
osx-keychain
po wprowadzeniu token jest przechowywany jako hasło i rzeczy działają dokładnie tak, jak działałyby przez https bez autoryzacji dwuskładnikowej.źródło
Nie musisz: to
@
jest separatorem między nazwą użytkownika: hasłem i domeną.To nie jest adres e-mail.
Pełny adres URL https w serwisie GitHub wyglądałby tak:
Bez hasła (które będzie wtedy zadawane w linii poleceń), to dałoby:
Ale znowu
[email protected]
nie jest to adres e-mail, tylko pierwsza część danych logowania.Upewnij się, że wielkość liter
username
ireponame
jest poprawna: rozróżniana jest wielkość liter .Pamiętaj, że możesz przechowywać i szyfrować swoje dane uwierzytelniające w
.netrc.gpg
(lub_netrc.gpg
w systemie Windows), jeśli nie chcesz, aby te dane logowania były jawne w adresie URL.Zobacz „ Czy istnieje sposób na pominięcie wpisywania hasła podczas używania
https://github
”.źródło
https://[email protected]/username/reponame.git
.! * ' ( ) ; : @ & = + $ , / ? # [ ]
)? Muszą być zakodowane w procentach ( en.wikipedia.org/wiki/Percent-encoding ).Teraz kliknij Dodaj ogólne poświadczenie i podaj następujące wartości
(1) Adres internetowy lub sieciowy: git: https: //tfs.donamain name (2) nazwa użytkownika: twoja nazwa użytkownika (3) hasło: twoje hasło
to powinno to naprawić
źródło
Może się to zdarzyć w systemie Windows, jeśli wcześniej zapisałeś inne poświadczenia. Przejdź do Menedżera poświadczeń i usuń zapisane poświadczenia github
źródło
[Tylko Mac]
Jeśli chcesz usunąć swoje uwierzytelnienie, użyj
na komputerze Mac.
Zobacz https://help.github.com/articles/updating-credentials-from-the-osx-keychain/
źródło
To samo stało się ze mną, gdy włączyłem uwierzytelnianie dwukierunkowe dla github. Rzeczy, które zrobiłem, aby rozwiązać:
Takie postępowanie rozwiąże Twój problem.
źródło
Na wypadek, gdyby to pomogło również komukolwiek innemu, zostałem zalogowany do aplikacji na Maca, linia poleceń działa dobrze, ale ponieważ potem włączyłem 2FA, moje polecenia zwracały błąd. Musiałem wylogować się z aplikacji, a następnie mogłem używać osobistego tokena dostępu w moich poleceniach zgodnie z odpowiedzią ele tutaj .
Mam nadzieję, że to komuś pomoże!
źródło
W systemie Windows możesz być dyskretnie blokowany przez program antywirusowy lub zaporę systemu Windows. Tymczasowo wyłącz te usługi i wypychaj / ściągaj ze zdalnego źródła.
źródło