Jak skonfigurować uwierzytelnianie bez hasła w prywatnym repozytorium GitHub?

Powtarzanie tego samego zadania jest nudne i bolesne dla programistów takich jak my. prawda?

Jedno z takich zadań jest interaktywne z prywatnym repozytorium GitHub. o co chodzi? Wiesz co to jest. Szukasz sposobów na rozwiązanie tego problemu i trafiłeś na ten artykuł. Przestaniesz szukać po przeczytaniu tego artykułu.

Więc tutaj porozmawiamy o dostępie do prywatnego repozytorium GitHub bez hasła. Bez zbędnych ceregieli, zaczynajmy.

Istnieją dwa sposoby uzyskania dostępu do dowolnego repozytorium GitHub. Są to HTTPS i SSH. Większość z was używa HTTPS. Ale teraz dowiadujesz się, że nie jest to efektywny sposób używania metody HTTPS do klonowania prywatnych repozytoriów.

Dostęp obejmuje klonowanie, pchanie, ciągnięcie itp.; wszystko, co jest związane z aktualizacją naszego repozytorium w pilocie.

Nie ma problemu z dostępem do publicznych repozytoriów. Ale musimy się uwierzytelnić podczas uzyskiwania dostępu do prywatnego repozytorium. Istnieją różne sposoby uwierzytelniania się.

Zacznijmy od najbardziej znanego…

Jeśli używasz HTTPS

Prawdopodobnie powinieneś wiedzieć o metodzie HTTPS i szukać innych. Zobaczmy szybko, jak uzyskać dostęp do prywatnego repozytorium za jego pomocą.

  • Skopiuj link do swojego prywatnego repozytorium.

Prywatne repozytorium GitHub

  • Otwórz terminal lub cmd na swoim komputerze.
  • Wklej polecenie git clone link, aby sklonować prywatne repozytorium.
  • Zastąp link linkiem do prywatnego repozytorium.
  • Poprosi nas o uwierzytelnienie się. Musimy więc wprowadzić nasze dane uwierzytelniające GitHub.
  • Najpierw poprosi nas o podanie naszej nazwy użytkownika GitHub. Wpisz swoją nazwę użytkownika GitHub i naciśnij Enter.

Uwierzytelniająca nazwa użytkownika

  • Teraz musimy wprowadzić hasło. Wpisz swoje hasło GitHub i naciśnij Enter.

Hasło uwierzytelniające

Otóż ​​to; sklonowaliśmy prywatne repozytorium metodą HTTPS. Teraz zaktualizuj coś w repozytorium, zatwierdź i wypchnij je do zdalnego.

Co zauważyłeś?

Ponownie prosi o uwierzytelnienie.

Uwierzytelnianie push

Czy wprowadzanie poświadczeń za każdym razem, gdy wchodzimy w interakcję z prywatnym repozytorium, nie jest nudnym i ciężkim zadaniem?

Tak jest.

Nie możemy wprowadzić naszych danych logowania GitHub za każdym razem, gdy wchodzimy w interakcję z naszym prywatnym repozytorium. Jest to proces czasochłonny i spowalniający naszą pracę.

Istnieją różne sposoby na pozbycie się powyższego problemu. Najlepszym sposobem na to jest użycie SSH. Ale są na to inne sposoby. Przyjrzyjmy się im wszystkim jeden po drugim.

konfiguracja .git

Wszystkie informacje o wersjach naszych repozytoriów są przechowywane w katalogu .git. To ukryty folder. Znajduje się w nim plik konfiguracyjny, który pozwala nam skonfigurować ustawienia. Ale generalnie nie jest to zalecane.

Możemy sklonować prywatne repozytorium, dodając naszą nazwę użytkownika i hasło w adresie URL repozytorium w następujący sposób.

git clone https://<strong>username:password</strong>@github.com/<strong>username</strong>/<strong>repository_name</strong>.git

Zaktualizuj nazwę użytkownika, hasło i nazwę_repozytorium, podając odpowiednie szczegóły. Ponieważ podaliśmy nasze dane uwierzytelniające w adresie URL, nie poprosi o uwierzytelnienie, jak widzieliśmy wcześniej.

Zamierzamy więc zastosować powyższą metodę uwierzytelniania i odpowiednio zaktualizować konfigurację naszego repozytorium. Zobaczmy, jak pozbyć się powtarzalnego uwierzytelniania, aktualizując adres URL.

  • Otwórz folder .git w sklonowanym repozytorium.

.git Folder

  • Znajdziesz plik o nazwie config. Otwórz go za pomocą dowolnego edytora tekstu do wyboru.
  • Pojawi się linia z naszym linkiem do repozytorium w następujący sposób.

Link do repozytorium w config

  • Zaktualizuj adres URL, dodając swoją nazwę użytkownika i hasło, jak pokazano powyżej.

Aktualizacja adresu URL repozytorium

Teraz ponownie zaktualizuj coś w repozytorium, zatwierdź i wypchnij.

Czy coś obserwujesz?

Tym razem nie powinien pytać o twoje dane uwierzytelniające GitHub. Rozwiązaliśmy więc nasz problem, aktualizując nasze ustawienia repozytorium.

Być może zauważyłeś, że nie jest to bezpieczne. Ponieważ ujawniamy nasze poświadczenia. Ta metoda nie zadziała, jeśli twoje hasło GitHub zawiera znak @.

Tak więc istnieją pewne krytyczne wady korzystania z tej metody. Dlatego zignorujmy to i przejdźmy do następnej metody.

poświadczenie. pomocnik

Credential.helper pozwala nam przechowywać dane uwierzytelniające na zawsze w pliku ~/.git-credentials.

Będzie przechowywać nasze dane uwierzytelniające, gdy wprowadzimy je po raz pierwszy. Ponownie, gdy próbujemy uzyskać dostęp do prywatnego repozytorium, nie poprosi o poświadczenia, dopóki nie zostanie zapisane w pliku ~/git-credentials. To jeden ze sposobów uniknięcia naszego problemu. Zobaczmy to w akcji z dokładnymi krokami.

  • Najpierw musimy aktywować opcję przechowywania naszych poświadczeń za pomocą polecenia git config credential.helper store.
  • Po aktywowaniu opcji spróbuj uzyskać dostęp do prywatnego repozytorium za pomocą swojej nazwy użytkownika i hasła.
  • Po wprowadzeniu nazwy użytkownika i hasła zapisze je w pliku ~/.git-credentials z poświadczeniami GitHub w następujący sposób.

git-poświadczenia

Teraz ponownie ten sam proces, aby sprawdzić, czy działa poprawnie, czy nie. Zaktualizuj, zatwierdź i wypchnij. Jestem pewien, że nie poprosi Cię o poświadczenia, jeśli wykonałeś powyższe kroki, aby zapisać swoje poświadczenia.

Idzie dobrze…

Co zrobić, jeśli chcesz zapisać poświadczenia przez 4 godziny zamiast na zawsze?

Credential.helper umożliwia tymczasowe przechowywanie naszych danych uwierzytelniających przez określony czas. Używamy pamięci podręcznej zamiast magazynu do przechowywania poświadczeń przez określony czas.

Pamięć podręczna domyślnie przechowuje nasze dane uwierzytelniające przez 15 minut. Po 15 minutach git ponownie poprosi o poświadczenia. Ale możemy zmienić domyślny czas za pomocą następującego polecenia.

git config credential.helper 'cache --timeout={time_in_seconds}'

Nie zapomnij podać czasu w sekundach. Zobaczmy to w akcji.

  • Najpierw musimy aktywować opcję buforowania naszych poświadczeń za pomocą polecenia git config credential.helper cache.
  • Uzyskaj dostęp do prywatnego repozytorium za pomocą swojej nazwy użytkownika i hasła.
  • Po wprowadzeniu nazwy użytkownika i hasła będzie przechowywać dane uwierzytelniające GitHub w pamięci podręcznej przez określony czas.

Teraz zaktualizuj, zatwierdź i wypchnij. Ponownie nie poprosi o podanie danych uwierzytelniających, ponieważ powiedzieliśmy to w celu ich buforowania.

Pokazaliśmy ci polecenia do pracy z repozytorium zainicjowanym przez git. Możemy zaktualizować konfigurację git globalnie dla wszystkich projektów, dodając flagę –global w powyższych poleceniach.

Osobiste tokeny dostępu

Osobiste tokeny dostępu służą do udzielania dostępu do interfejsu API usługi GitHub. Osobiste tokeny dostępu są podobne do tokenów OAuth. Można ich więc używać do podstawowego uwierzytelniania zamiast hasła do git. Dlatego możemy użyć osobistych tokenów dostępu, aby rozwiązać nasz problem.

Zobaczmy, jak to zrobić.

  • Zaloguj się do swojego konta GitHub.
  • Przejdź do Ustawień.

Ustawienia GitHuba

  • Teraz przejdź do ustawień Develop z lewego paska nawigacyjnego.

Ustawienia programisty GitHub

  • Kliknij osobiste tokeny dostępu, aby dotrzeć do miejsca docelowego. Zobaczysz osobiste tokeny dostępu w następujący sposób.

Tokeny dostępu osobistego GitHub

  • Kliknij na Wygeneruj nowy token, aby wygenerować nowy.

Wygeneruj nowy token

  • Wprowadź notatkę dla tokena. Możesz myśleć o tym jako o krótkich notatkach do zapamiętania przez żeton.

Osobisty token dostępu Uwaga

  • Wybierz uprawnienia dla tokena. Programy korzystające z tokena przyznają dostęp do wszystkich wybranych uprawnień. W naszym przypadku wybierz repozytorium.

Uprawnienia do repozytorium

  • Przewiń w dół i kliknij przycisk Wygeneruj token.

Wygeneruj przycisk tokena

  • Token dostępu osobistego zostanie wyświetlony tylko raz w następujący sposób. Nie możemy ponownie zobaczyć naszego osobistego tokena. Więc skopiuj go i zapisz w bezpiecznym miejscu. W razie potrzeby użyj menedżera haseł.

Osobisty token dostępu

  • Pomyślnie utworzyliśmy osobisty token dostępu.
  • Teraz nadszedł czas, aby użyć go, aby uzyskać dostęp do naszego prywatnego repozytorium.
  • Zaktualizuj adres URL repozytorium w pliku .git/config jako https://{personal_access_token}@github.com/hafeezulkareem/private_repository.git podobnie do pierwszej metody.

Osobisty token dostępu w konfiguracji

Teraz spróbuj uzyskać dostęp do prywatnego repozytorium.

Czy prosił Cię o uwierzytelnienie?

Nie, nie poprosi Cię o uwierzytelnienie, dopóki token nie będzie aktywny. Przejdźmy do ostatniego sposobu rozwiązania naszego problemu.

SSH

SSH służy do uwierzytelniania się. Pełny dokument o SSH znajdziesz w GitHub tutaj.

Pomysł jest prosty. Wygeneruj klucz SSH, dodaj go do konta GitHub i ciesz się uwierzytelnianiem bez hasła.

Przyjrzyjmy się szczegółowo tym trzem krokom.

  • Otwórz terminal lub cmd w swoim systemie.
  • Wprowadź polecenie ssh-keygen -t rsa, aby wygenerować nowy klucz SSH.
  • Poprosi o katalog, aby zapisać klucz. Naciśnij klawisz Enter, aby wybrać katalog domyślny. Ale możesz także zmienić katalog na podstawie swoich preferencji. Tutaj idziemy z domyślnym katalogiem.

Katalog SSH

  • Teraz musimy wprowadzić hasło, aby chronić nasz klucz SSH. Ale to jest opcjonalne.
    • Jeśli wybierzemy hasło dla klucza SSH, musimy wprowadzić je jako pierwsze przy każdym włączeniu naszego systemu.
    • Jeśli nie wybraliśmy hasła, nie ma potrzeby wpisywania go najpierw.

Hasło SSH

  • Wprowadź hasło ponownie, aby je potwierdzić.

Hasło SSH

  • Na koniec wygeneruje dla nas nowy klucz SSH w następujący sposób.

Klucz SSH

Pomyślnie wygenerowaliśmy nowy klucz SSH w naszych systemach. Utworzy dwa pliki w następujący sposób (jeśli zmieniłeś ścieżkę, nazwy plików mogą się różnić).

Pliki kluczy SSH

Teraz nadszedł czas, aby połączyć się z naszym kontem GitHub. W celu połączenia zawartość pliku z rozszerzeniem .pub należy skopiować na nasze konto GitHub. W moim przypadku jest to id_rsa.pub.

  • Zaloguj się do swojego konta GitHub.
  • Otwórz Ustawienia.

Ustawienia GitHuba

  • Kliknij klucze SSH i GPG, aby dotrzeć do miejsca docelowego.

Klucze SSH i GPG

  • Kliknij Nowy klucz SSH, aby dodać nasz nowo wygenerowany klucz SSH.

Nowy klucz SSH

  • Nastąpi przejście do następującego ekranu.

Nowy klucz SSH

  • Dodaj odpowiedni tytuł klucza SSH. Klucze SSH są różne dla każdego systemu. Tak więc wybór na podstawie tego jest jedną z dobrych opcji. Ale to nie jedyna opcja. Możesz wybrać na podstawie innych rzeczy jako swoich preferencji.
  • Po wybraniu tytułu skopiuj i wklej zawartość .pub w drugie pole.

Nowy klucz SSH

  • Na koniec naciśnij klawisz Dodaj SSH i potwierdź dostęp swoim hasłem GitHub.
  • Nowo dodany klucz SSH będzie wyglądał następująco.

Nowy klucz SSH

Dodaliśmy nasz nowo wygenerowany klucz SSH do GitHub. Teraz musimy uwierzytelnić połączenie SSH, aby później móc korzystać z uwierzytelniania bez hasła. Aby to zrobić, wprowadź następujące polecenie w terminalu lub cmd.

ssh -T [email protected]

Połączenie SSH

Poprosi o potwierdzenie. Potwierdź to. I to wszystko, i skończyliśmy.

Teraz sklonuj swoje prywatne repozytorium. Tym razem nie poprosi o żadne uwierzytelnienie.

Zaktualizuj, zatwierdź i wypchnij. Proszę bardzo. Nie poprosi Cię już o uwierzytelnienie. Ciesz się tym.

Wniosek

Uff! omówiliśmy różne metody uzyskiwania dostępu do prywatnych repozytoriów bez ciągłego wprowadzania poświadczeń. Możesz użyć dowolnej metody. Jednak ogólną i najlepszą praktyką jest użycie metody SSH do uwierzytelniania.

Ponownie zależy to od twoich preferencji; nie ma ścisłej zasady używania jedynej metody SSH. Jednak większość firm korzysta z metody uwierzytelniania SSH, która jest bezpieczna i pozwala zaoszczędzić dużo czasu. I upewnij się, że Twoje dane uwierzytelniające są bezpieczne.

Miłego rozwoju 🙂