Het herhalen van dezelfde taak is saai en pijnlijk voor programmeurs zoals wij. Nietwaar?
Eén van die taken is interactief met GitHub’s privé repository. Wat is er aan de hand? U weet wat het is. En u zoekt naar manieren om het op te lossen en bent op dit artikel terechtgekomen. Na het lezen van dit artikel zult u stoppen met zoeken
Dus, hier gaan we het hebben over toegang krijgen tot GitHub private repository zonder wachtwoord. Laten we zonder verder oponthoud beginnen
Er zijn twee manieren om toegang te krijgen tot een GitHub repository. Dat zijn HTTPS en SSH. De meesten van u gebruiken HTTPS. Maar nu komt u te weten dat het niet efficiënt is om de HTTPS methode te gebruiken voor het klonen van privé repositories
Toegang krijgen omvat klonen, pushen, pullen, enz.; alles wat te maken heeft met het bijwerken van onze repository op afstand
Er is geen probleem als het gaat om toegang tot de openbare repositories. Maar we moeten onszelf authenticeren als we een privé-repository benaderen. Er zijn verschillende manieren om onszelf te authenticeren
Laten we beginnen met de meest bekende..
Als u HTTPS gebruikt
U zou waarschijnlijk op de hoogte moeten zijn van de HTTPS-methode en op zoek moeten gaan naar andere. Laten we snel eens kijken hoe u hiermee toegang krijgt tot een privé archief
- Kopieer uw privé archief link.

- Open de terminal of cmd op uw machine.
- Plak het commando
git clone link
om de privé repository te clonen. - Vervang de link door de link van uw privé repository.
- Het zal ons vragen om ons te authenticeren. We moeten dus onze GitHub referenties invoeren.
- Eerst zal het ons vragen om onze GitHub gebruikersnaam in te voeren. Voer uw GitHub gebruikersnaam in en druk op
Enter
.

- Nu moeten we het wachtwoord invoeren. Typ uw GitHub wachtwoord in en druk op
Enter
.

Dat was het; we hebben het privé-repository gekloond met de HTTPS-methode . Werk nu iets bij in de repository, commit het en push het naar remote
Wat is u opgevallen?
Het vraagt opnieuw om de authenticatie


Is het geen saaie en zware taak om referenties in te voeren elke keer dat we interactie hebben met de privéopslagplaats?
Ja, dat is het zeker
We kunnen onze GitHub referenties niet elke keer invoeren als we met onze privé repository communiceren. Het is een tijdrovend proces en vertraagt ons werk
Er zijn verschillende manieren om van het bovenstaande probleem af te komen. De beste manier is om SSH te gebruiken. Maar er zijn ook andere manieren. Laten we ze allemaal één voor één bekijken
.git configuratie
Alle informatie over onze repositories versies is opgeslagen in de .git
map. Het is een verborgen map. Er zit een config
bestand in waarmee we de instellingen kunnen configureren. Maar het wordt in het algemeen niet aangeraden
We kunnen een privé repository klonen door onze gebruikersnaam en wachtwoord als volgt toe te voegen aan de URL van de repository
git kloon<strong>https://username:password@github.com/username/repository_name.git</strong>
Werk de gebruikersnaam, het wachtwoord en de repository_name bij met de juiste gegevens. Omdat we onze gegevens in de URL hebben gegeven, zal het niet om authenticatie vragen, zoals we eerder gezien hebben
We gaan dus de bovenstaande authenticatiemethode volgen en onze repositoryconfiguratie dienovereenkomstig bijwerken. Laten we de stappen bekijken om van de herhaalde authenticatie af te komen door de URL bij te werken
- Open de
.git
map in uw gekloonde repository.

- U zult een bestand vinden met de naam config. Open het met een teksteditor naar keuze.
- Er zal een regel zijn met onze repository-link als volgt.

- Werk de URL bij door uw gebruikersnaam en wachtwoord toe te voegen , zoals hierboven te zien is.

Werk nu weer iets bij in de repository, commit en push ze
Ziet u iets?
Het zou deze keer niet om uw GitHub referenties gevraagd moeten hebben. Dus, we hebben ons probleem opgelost door onze repository-instelling bij te werken
U hebt misschien gemerkt dat het niet veilig is. Omdat we onze referenties blootgeven. En deze methode zal niet werken als uw GitHub wachtwoord het@
teken bevat
Er zijn dus een aantal belangrijke nadelen aan het gebruik van deze methode. Laten we het daarom negeren en naar de volgende methode gaan
credential.helper
De credential.helper
staat ons toe om de referenties voor altijd op te slaan in ~/.git-credentials
bestand
Het zal onze referenties opslaan als we ze voor de eerste keer invoeren. Opnieuw als we de privé repository proberen te benaderen, zal het niet om referenties vragen totdat ze opgeslagen zijn in het ~/git-credentials
bestand. Dat is dus één van de manieren om ons probleem te omzeilen. Laten we het in actie zien met precieze stappen
- Eerst moeten we de optie om onze referenties op te slaan activeren met het commando
git config credential.helper store
. - Na het activeren van de optie, probeert u toegang te krijgen tot de privé repository met uw gebruikersnaam en wachtwoord.
- Zodra u uw gebruikersnaam en wachtwoord hebt ingevoerd, zal het het opslaan in
~/.git-credentials
bestand met uw GitHub referenties als volgt.

Nu weer hetzelfde proces om te controleren of het goed werkt of niet. Update, commit en push. Ik weet zeker dat het u niet om de referenties zal vragen als u de bovenstaande stappen hebt gevolgd om uw referenties op te slaan
Gaat prima..
Wat als u de referenties voor 4 uur wilt opslaan in plaats van voor altijd?
De credential.helper
biedt een manier om onze referenties tijdelijk voor een bepaalde tijd op te slaan. We gebruiken cache
in plaats van store
om de referenties voor een bepaalde tijd op te slaan
De cache
slaat onze referenties standaard 15 minuten op. Na 15 minuten zal git weer om referenties vragen. Maar we kunnen de standaard tijd veranderen met het volgende commando
git config credential.helper 'cache --timeout={time_in_seconds}'
Vergeet niet de tijd in seconden op te geven. Laten we het in actie zien
- Eerst moeten we de optie om onze referenties in de cache te plaatsen activeren met het commando
git config credential.helper cache
. - Ga naar de privé repository met uw gebruikersnaam en wachtwoord.
- Zodra u uw gebruikersnaam en wachtwoord hebt ingevoerd, zal het uw GitHub referenties voor een bepaalde tijd cachen.
Nu, update, commit en push. Opnieuw zal het niet om uw referenties vragen, omdat we gezegd hebben dat het ze cacht
We hebben u de commando’s laten zien om met een git geïnitialiseerde repository te werken. We kunnen de git
configuratie globaal voor alle projecten bijwerken door de --global
vlag in de bovenstaande commando’s toe te voegen
Persoonlijke Toegangstokens
De persoonlijke toegangsmunten worden gebruikt om toegang te geven tot de GitHub API. De persoonlijke toegangsmunten zijn als OAuth tokens. Ze kunnen dus gebruikt worden voor basisauthenticatie in plaats van een wachtwoord voor git
. Daarom kunnen we de persoonlijke toegangsmunten gebruiken om ons probleem op te lossen
Laten we eens kijken hoe we dat moeten doen
- Log in op uw GitHub account.
- Ga naar Instellingen.

- Ga nu naar de Ontwikkel instellingen vanuit de linker navigatiebalk.


- Klik op de Persoonlijke toegangsmunten om onze eindbestemming te bereiken. U zult de persoonlijke toegangstekens als volgt zien.

- Klik op Genereer nieuw token om een nieuw token te genereren.

- Voer de notitie voor het token in. U kunt het zien als korte notities die het token moet onthouden.

- Selecteer de rechten voor het token. De programma’s die het token gebruiken, zullen toegang verlenen tot alle geselecteerde rechten. Selecteer in ons geval de repo.

- Scroll naar beneden en klik op de knop Token genereren .

- Het persoonlijke toegangstoken wordt slechts één keer als volgt weergegeven. We kunnen ons persoonlijke token niet meer zien. Kopieer het dus en sla het ergens veilig op. Gebruik een wachtwoordmanager als dat nodig is.

- We hebben met succes het persoonlijke toegangstoken aangemaakt.
- Nu is het tijd om het te gebruiken om toegang te krijgen tot onze privé repository.
- Werk de URL van de repository in het
.git/config
bestand bij alshttps://{personal_access_token}@github.com/hafeezulkareem/private_repository.git
, net als bij de eerste methode.

Probeer nu toegang te krijgen tot de private repository
Is er om verificatie gevraagd?
Nee, er wordt pas om verificatie gevraagd als het token actief is. Laten we naar de laatste manier gaan om ons probleem op te lossen
SSH
SSH wordt gebruikt om ons te authenticeren. U vindt het volledige document over SSH hier op GitHub
Het idee is eenvoudig. Genereer een SSH sleutel, voeg die toe aan het GitHub account en geniet van wachtwoordloze authenticatie
Laten we deze drie stappen in detail bekijken
- Open terminal of cmd op uw systeem.
- Voer het commando
ssh-keygen -t rsa
in om een nieuwe SSH sleutel te genereren. - Er wordt gevraagd naar de map om de sleutel op te slaan. Druk op
Enter
om de standaardmap te selecteren. Maar u kunt de map ook wijzigen op basis van uw voorkeur. Hier gebruiken we de standaardmap.

- Nu moeten we de wachtwoordzin invoeren om onze SSH-sleutel te beschermen. Maar dit is optioneel
- Als we een wachtwoordzin voor de SSH-sleutel kiezen, moeten we deze eerst invoeren wanneer we ons systeem aanzetten.
- Als we geen wachtwoordzin hebben gekozen, dan is het niet nodig om deze eerst in te voeren.

- Voer de wachtwoordzin nogmaals in om deze te bevestigen.

- Tot slot zal het als volgt een nieuwe SSH-sleutel voor ons genereren.

We hebben met succes een nieuwe SSH-sleutel gegenereerd in onze systemen. Er worden de volgende twee bestanden aangemaakt (als u het pad hebt gewijzigd, kunnen de bestandsnamen afwijken)

Nu is het tijd om verbinding te maken met ons GitHub account. De inhoud van het bestand met de extensie .pub
moet gekopieerd worden naar ons GitHub account voor de verbinding. In mijn geval is het id_rsa.pub
- Log in op uw GitHub account.
- Open de Instellingen.

- Klik op SSH en GPG Keys om onze eindbestemming te bereiken.


- Klik op New SSH Key (Nieuwe SSH-sleutel) om onze nieuw gegenereerde SSH-sleutel toe te voegen.

- U komt in het volgende scherm.

- Voeg de juiste titel voor de SSH-sleutel toe. De SSH-sleutels verschillen per systeem. Kiezen op basis daarvan is dus één van de goede opties. Maar het is niet de enige optie. U kunt ook kiezen op basis van andere dingen, afhankelijk van uw voorkeur.
- Nadat u de titel hebt gekozen, kopieert en plakt u de inhoud van de .pub in het tweede veld.

- Klik tenslotte op Add SSH key en bevestig de toegang met uw GitHub wachtwoord.
- De nieuw toegevoegde SSH sleutel zal er als volgt uitzien.

We hebben onze nieuw gegenereerde SSH sleutel toegevoegd aan GitHub. Nu moeten we de SSH-verbinding authenticeren om later van wachtwoordloze authenticatie te kunnen genieten. Om dat te doen, voert u het volgende commando in terminal of cmd in
ssh -T git@github.com

Er wordt om bevestiging gevraagd. Bevestig het. En dat is het, en we zijn klaar
Kloon nu uw privé archief. Het zal deze keer niet om authenticatie vragen
Update, commit en push. Ziezo. Er wordt niet meer om authenticatie gevraagd. Veel plezier ermee
Conclusie
Oef! We hebben verschillende methoden behandeld om toegang te krijgen tot privéopslagplaatsen zonder steeds uw referenties in te voeren. U kunt elke methode gebruiken. Maar de algemene en beste methode is om de SSH-methode voor authenticatie te gebruiken
Nogmaals, het is aan uw voorkeur; er is geen strikte regel om alleen de SSH-methode te gebruiken. Maar de meeste bedrijven gebruiken de SSH-methode voor verificatie, wat veilig is en veel tijd bespaart. En zorg ervoor dat uw referenties veilig zijn
Veel plezier met ontwikkelen 🙂