Jak naprawić git zawsze proszenie o poświadczenia użytkownika do uwierzytelniania HTTP

Jak naprawić git zawsze proszenie o poświadczenia użytkownika do uwierzytelniania HTTP

Aby uzyskać dostęp do zdalnego repozytorium GIT, możesz użyć albo użyć Ssh Lub HTTP (S) protokoły; Dzięki temu pierwszemu, jeśli chodzi o prywatne repozytoria, możesz po prostu skonfigurować klawisze SSH bez hasła, który umożliwia bezpieczne przesyłanie danych bez wpisywania nazwy użytkownika i hasła.

Jednak z HTTP (S), Każde połączenie poprosi o wprowadzenie nazwy użytkownika i hasła (gdy GIT potrzebuje uwierzytelnienia dla konkretnego kontekstu adresu URL) - użytkownicy Github wiedzą to dobrze.

W tym artykule pokażemy, jak naprawić git, zawsze proszenie o poświadczenia użytkowników do dostępu HTTP (S). Wyjaśnimy różne sposoby zapobiegania wielokrotnym monitorowaniu GIT o nazwie użytkownika i hasła podczas interakcji z zdalnym repozytorium HTTP (S).

Jak zainstalować git w Linux

Jeśli nie masz Git Pakiet zainstalowany w systemie, uruchom odpowiednie polecenie dla dystrybucji Linux, aby ją zainstalować (użyj Sudo polecenie w razie potrzeby).

$ sudo apt Zainstaluj git [na debian/ubuntu] # yum instaluj git [na centos/rhel/fedora] $ sudo zypper instaluj git [on openSuse] $ sudo pacman -s git [on arch Linux] 

Wprowadzanie nazwy użytkownika i hasła git w zdalnym adresie URL

Jak wspomnialiśmy wcześniej, podczas klonowania pilota Git repozytorium HTTP (S), Każde połączenie potrzebuje nazwa użytkownika I hasło jak pokazano.

Zdalne repozytorium git klonów

Aby zapobiec Git Od prośby o twój nazwa użytkownika I hasło, Możesz wprowadzić poświadczenia logowania w adresie URL, jak pokazano.

$ sudo git clone https: // nazwa użytkownika: [e -mail chroniona]/nazwa użytkownika/nazwa repo_.git lub $ sudo git klon https: // nazwa użytkownika: [e -mail chroniony]/nazwa użytkownika/nazwa repo_.Git Local_Folder 
Dodaj poświadczenia git w adresie URL

Główna wada tej metody, że twój nazwa użytkownika I hasło zostanie zapisany w poleceniu w pliku historii powłoki.

Zobacz historię powłoki

a także w .git/config Plik w folderze lokalnym, który ma ryzyko bezpieczeństwa.

$ cat .git/config 
Wyświetl poświadczenia git w pliku konfiguracyjnym

Notatka: Dla użytkowników GitHub, którzy włączyli uwierzytelnianie dwuskładnikowe lub uzyskują dostęp do organizacji, która używa Saml Pojedyncze logowanie, musisz wygenerować i użyć osobistego tokena dostępu zamiast wprowadzania hasła dla HTTPS git (jak pokazano w próbkach wyjściowych w tym przewodniku). Aby wygenerować osobisty token dostępu, w Github, iść do Ustawienia => Ustawienia programistów => Osobisty Tokeny dostępu.

Zapisywanie zdalnego GIT Repository Nazwa użytkownika i hasło na dysku

Drugą metodą jest użycie pomocnika GIT poświadczeń do zapisania nazwy użytkownika i hasła w zwykłym pliku na dysku, jak pokazano.

Config.Sklep pomocniczy lub $ git config -global poświadczenie.Sklep pomocniczy 

Od teraz, Git napisze poświadczenia do ~/.Git-Credentials plik dla każdego kontekstu adresu URL, po dostępie po raz pierwszy. Aby wyświetlić zawartość tego pliku, możesz użyć polecenia CAT, jak pokazano.

$ cat ~/.Git-Credentials 
Zobacz zapisane poświadczenia git na dysku

W przypadku kolejnych poleceń dla tego samego kontekstu adresu URL GIT przeczyta poświadczenia użytkownika z powyższego pliku.

Podobnie jak poprzednia metoda, ten sposób przekazywania poświadczeń użytkownika do Git jest również niezabezpieczone, ponieważ plik pamięci jest niezaszyfrowany i jest chroniony tylko przez standardowe uprawnienia systemu plików.

Trzecia wyjaśniona poniżej metoda jest uważana za bardziej bezpieczną.

Buforowanie zdalnego repozytorium GIT nazwa użytkownika i hasło w pamięci

Wreszcie możesz również użyć Git ANDERENTIONACJA ALOPER, aby przez pewien czas uratować swoje poświadczenia w pamięci. Aby to zrobić, wydaj następujące polecenie.

Config.Pamięć podręczna pomocnicza lub $ git Config -global poświadczenie.pamięć podręczna pomocnicza 

Po uruchomieniu powyższego polecenia, kiedy spróbujesz uzyskać dostęp do zdalnego prywatnego repozytorium po raz pierwszy, Git poprosi o nazwę użytkownika i hasło i zapisza je na pamięć.

Pamięć pamięci podręcznej w pamięci

Domyślny czas buforowania to 900 sekundy (lub 15 minut), po czym GIT poprosi Cię o ponowne wprowadzenie nazwy użytkownika i hasła. Możesz go zmienić w następujący sposób (1800 sekund = 30 minut lub 3600 sekund = 1 godzinę).

$ git config -global poświadczenie.Pomocnik „pamięć podręczna -Timeout = 18000” lub $ git config -global poświadczenie.Pomocnik „pamięć podręczna -Timeout = 36000” 

Aby uzyskać więcej informacji na temat Git i pomocnicy poświadczeń, zobacz ich strony.

$ man git $ man git-credential-cache $ man git-credential-sklepi 

Czy ten przewodnik był pomocny? Daj nam znać za pośrednictwem poniższego formularza opinii. Możesz także podzielić się wszelkimi pytaniami lub przemyśleniami na ten temat.