Kif Tiffissa Git Dejjem Titlob Għall-Kredenzjali tal-Utent Għall-Awtentikazzjoni HTTP(S).


Biex taċċessa jew tittrasferixxi dejta b'mod sigur mingħajr ma ttajpja l-username u l-password tiegħek.

Madankollu, b'HTTP(S), kull konnessjoni se tqanqlek biex iddaħħal l-isem tal-utent u l-password tiegħek (meta Git teħtieġ awtentikazzjoni għal kuntest ta 'URL partikolari) - L-utenti ta' Github jafu dan sew.

F'dan l-artikolu, aħna ser nuruk kif tiffissa Git dejjem titlob għall-kredenzjali tal-utent għall-aċċess fuq HTTP(S). Se nispjegaw modi differenti kif nipprevjenu lil Git milli ripetutament iqajjem username u password meta jinteraġixxu ma' repożitorju remot fuq HTTP(S).

Kif Tinstalla Git fil-Linux

Jekk ma jkollokx il-pakkett Git installat fis-sistema tiegħek, ħaddem il-kmand xieraq għad-distribuzzjoni Linux tiegħek biex tinstallah (uża l-kmand Sudo fejn meħtieġ).

$ sudo apt install git      [On Debian/Ubuntu]
# yum install git           [On CentOS/RHEL/Fedora]
$ sudo zypper install git   [On OpenSuse]
$ sudo pacman -S git        [On Arch Linux]

Daħħal l-Isem tal-User u l-Password tal-Git fil-URL Remote

Kif konna semmejna qabel, meta tikklonaj repożitorju Git remot fuq HTTP(S), kull konnessjoni teħtieġ username u password kif muri.

Biex tipprevjeni lil Git milli titlob l-isem tal-utent u l-password tiegħek, tista’ ddaħħal il-kredenzjali tal-login fil-URL kif muri.

$ sudo git clone https://username:[email /username/repo_name.git
OR
$ sudo git clone https://username:[email /username/repo_name.git local_folder

L-iżvantaġġ ewlieni ta 'dan il-metodu li l-username u l-password tiegħek se jiġu ffrankati fil-kmand fil-fajl tal-istorja Shell.

kif ukoll fil-fajl .git/config taħt il-folder lokali, li għandu riskju għas-sigurtà.

$ cat .git/config

Nota: Għal utenti ta' Github li ppermettew l-awtentikazzjoni b'żewġ fatturi, jew qed jaċċessaw organizzazzjoni li tuża SAML single sign-on, trid tiġġenera u tuża token ta' aċċess personali minflok ma ddaħħal il-password tiegħek għal HTTPS Git (kif muri fil-kampjuni tal-outputs). f’din il-gwida). Biex tiġġenera token ta' aċċess personali, f'Github, mur Settings => Settings ta' l-Iżviluppatur => Tokens ta' aċċess personali.

Iffrankar Remote Git Repository Username u Password fuq Disk

It-tieni metodu huwa li tuża l-helper tal-kredenzjali Git biex issalva l-username u l-password tiegħek f'fajl sempliċi fuq disk kif muri.

$ git config credential.helper store				
OR
$ git config --global credential.helper store		

Minn issa 'l quddiem, Git se jikteb kredenzjali fil-fajl ~/.git-credentials għal kull kuntest URL, meta aċċessat għall-ewwel darba. Biex tara l-kontenut ta' dan il-fajl, tista' tuża l-kmand tal-qtates kif muri.

$ cat  ~/.git-credentials

Għal kmandi sussegwenti għall-istess kuntest tal-URL, Git se jaqra l-kredenzjali tal-utent tiegħek mill-fajl ta 'hawn fuq.

Eżatt bħall-metodu preċedenti, dan il-mod kif tgħaddi l-kredenzjali tal-utent lil Git huwa wkoll mhux sigur peress li l-fajl tal-ħażna mhuwiex kriptat u huwa protett biss minn permessi standard tas-sistema tal-fajls.

It-tielet metodu spjegat hawn taħt, huwa meqjus aktar sigur.

Caching Remote Git Repository Username u Password fil-Memorja

Fl-aħħar iżda mhux l-inqas, tista 'wkoll tuża l-helper tal-kredenzjali Git biex issalva temporanjament il-kredenzjali tiegħek fil-memorja għal xi żmien. Biex tagħmel dan, agħti l-kmand li ġej.

$ git config credential.helper cache
OR
$ git config --global credential.helper cache

Wara li tmexxi l-kmand ta 'hawn fuq, meta tipprova taċċessa repożitorju privat remot għall-ewwel darba, Git se jitlob l-isem tal-utent u l-password tiegħek u ssalvah fil-memorja għal xi żmien.

Il-ħin tal-caching default huwa 900 sekonda (jew 15-il minuta), u wara Git iqanqlek terġa' ddaħħal l-isem tal-utent u l-password tiegħek. Tista' tibdelha kif ġej (1800 sekonda = 30 minuta jew 3600 sekonda = 1 siegħa).

$ git config --global credential.helper 'cache --timeout=18000'
OR
$ git config --global credential.helper 'cache --timeout=36000'

Għal aktar informazzjoni dwar Git u l-helpers tal-kredenzjali, ara l-paġni man tagħhom.

$ man git
$ man git-credential-cache
$ man git-credential-store

Din il-gwida kienet utli? Għidilna permezz tal-formola ta' feedback hawn taħt. Tista' wkoll taqsam kwalunkwe mistoqsija jew ħsibijiet dwar dan is-suġġett.