Dlaczego ciągle otrzymuję „Authentication Failed” na Github, gdy uruchamiam podsystem Win10 Linux?

1

Jestem na komputerze z systemem Windows 10, z włączonym trybem dewelopera i zainstalowanym podsystemem Linux. Kiedy przełączam się na bash, próbuję uruchomić proste polecenie klonowania z git:

git clone https://github.com/PrivateRepo/my-private-repo.git

Oczywiście trochę wyszlifowałem URL, ale masz pomysł. Początkowo odpowiedź, którą otrzymałem z tego polecenia, brzmiała:

fatalny: nie można uzyskać dostępu ” https://github.com/PrivateRepo/my-private-repo.git/ „: weryfikacja certyfikatu serwera nie powiodła się. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: brak

Widziałem kilka odpowiedzi na temat Stack Overflow, ale szczerze mówiąc, nie znam właściwy sposób radzenia sobie z tym błędem. Powiedziawszy to, znam niewłaściwy sposób, aby go całkowicie obejść, uruchamiając następujące polecenie:

git config --global http.sslverify false

I to wydaje się działać. Prawdopodobnie źle jest, że wyłączam wszystkie weryfikacje SSL, ale muszę to uruchomić i nie jest to sedno tego pytania (do czego się przyznaję). Ale na marginesie, jeśli znasz właściwy sposób naprawienia tego, że jestem uszy.

Następnie ponownie uruchomiłem moje git clone Polecenie to tym razem skłoniło mnie do podania nazwy użytkownika i hasła, ale ostatecznie zakończyło się niepowodzeniem z innego powodu. Oto jak to wyglądało:

git clone https://github.com/PrivateRepo/my-private-repo.git
Cloning into 'my-private-repo'...
Username for 'https://github.com': myuser
Password for 'https://[email protected]': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/PrivateRepo/my-private-repo.git'

Mogę jednak zapewnić, że wpisana przeze mnie nazwa użytkownika była poprawna, podobnie jak hasło. Mam także zainstalowany Git for Windows, a kiedy tam spróbowałem, wszystko działało. Jedynym zastrzeżeniem było to, że zamiast monitować mnie o hasło w wierszu poleceń, otworzyło się osobne okno, w którym można wprowadzić poświadczenia, i poprosiło mnie o podanie sześciocyfrowego kodu 2FA. Potem sklonował się dobrze. Zauważyłem, że w ten sposób utworzyłem osobisty token dostępu w Github. Więc poszedłem dalej i stworzyłem inny osobisty token dostępu i próbowałem go użyć ręcznie w bashu. Zasadniczo zamiast pisać myuser dla wpisanej nazwy użytkownika myuser:mytoken

git clone https://github.com/PrivateRepo/my-private-repo.git
Cloning into 'my-private-repo'...
Username for 'https://github.com': myuser:a1abcdefab2a34567ab8901a2bc3d4567890a1b2
Password for 'https://myuser:[email protected]': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/PrivateRepo/my-private-repo.git'

Ale jak widać, nadal nie powiodło się. Jak uzyskać git w bashu w systemie Windows?

Gordon Myers
źródło
Tryb programisty nie jest wymagany dla WSL. Dlaczego nadal masz włączony. Zakładam, że używasz 1709. Uwierzytelnianie nie powiedzie się, ponieważ wyłączyłeś SSL.
Ramhound

Odpowiedzi:

1

Musisz użyć swojej nazwy użytkownika, a następnie zamiast hasła użyj tokena dostępu. Nie potrzebujesz hasła, ponieważ token je zastępuje.

JeffJWills
źródło