Si të rregulloni Git duke kërkuar gjithmonë kredencialet e përdoruesit për vërtetimin HTTP(S)


Për të hyrë ose transferuar në mënyrë të sigurt të dhënat pa shtypur emrin e përdoruesit dhe fjalëkalimin tuaj.

Sidoqoftë, me HTTP(S), çdo lidhje do t'ju kërkojë të futni emrin e përdoruesit dhe fjalëkalimin tuaj (kur Git ka nevojë për vërtetim për një kontekst të caktuar URL) – përdoruesit e Github e dinë mirë këtë.

Në këtë artikull, ne do t'ju tregojmë se si të rregulloni Git duke kërkuar gjithmonë kredencialet e përdoruesit për qasje në HTTP(S). Ne do të shpjegojmë mënyra të ndryshme për të parandaluar që Git të kërkojë në mënyrë të përsëritur emrin e përdoruesit dhe fjalëkalimin kur ndërvepron me një depo të largët mbi HTTP(S).

Si të instaloni Git në Linux

Nëse nuk e keni paketën Git të instaluar në sistemin tuaj, ekzekutoni komandën e duhur për shpërndarjen tuaj Linux për ta instaluar atë (përdorni komandën Sudo aty ku është e nevojshme).

$ 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]

Futja e emrit të përdoruesit dhe fjalëkalimit të Git në URL-në në distancë

Siç e kishim përmendur më herët, kur klononi një depo të largët të Git mbi HTTP(S), çdo lidhje ka nevojë për një emër përdoruesi dhe fjalëkalim siç tregohet.

Për të parandaluar që Git të kërkojë emrin e përdoruesit dhe fjalëkalimin tuaj, mund të futni kredencialet e hyrjes në URL siç tregohet.

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

Pengesë kryesore e kësaj metode është se emri juaj i përdoruesit dhe fjalëkalimi do të ruhen në komandën në skedarin e historisë së Shell.

si dhe në skedarin .git/config nën dosjen lokale, i cili paraqet një rrezik sigurie.

$ cat .git/config

Shënim: Për përdoruesit e Github që kanë aktivizuar vërtetimin me dy faktorë, ose po hyjnë në një organizatë që përdor SAML hyrje të vetme, duhet të krijoni dhe përdorni një kod hyrjeje personale në vend që të vendosni fjalëkalimin tuaj për HTTPS Git (siç tregohet në rezultatet e mostrës në këtë udhëzues). Për të gjeneruar një shenjë hyrjeje personale, në Github, shkoni te Cilësimet => Cilësimet e Zhvilluesit => Shenjat e hyrjes personale.

Ruajtja e emrit të përdoruesit dhe fjalëkalimit të Remote Repository Git në disk

Metoda e dytë është të përdorni ndihmësin e kredencialeve Git për të ruajtur emrin e përdoruesit dhe fjalëkalimin tuaj në një skedar të thjeshtë në disk siç tregohet.

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

Që tani e tutje, Git do të shkruajë kredencialet në skedarin ~/.git-credentials për çdo kontekst URL, kur aksesohet për herë të parë. Për të parë përmbajtjen e këtij skedari, mund të përdorni komandën cat siç tregohet.

$ cat  ~/.git-credentials

Për komandat pasuese për të njëjtin kontekst URL, Git do të lexojë kredencialet tuaja të përdoruesit nga skedari i mësipërm.

Ashtu si metoda e mëparshme, kjo mënyrë e kalimit të kredencialeve të përdoruesit te Git është gjithashtu e pasigurt pasi skedari i ruajtjes është i pakriptuar dhe mbrohet vetëm nga lejet standarde të sistemit të skedarëve.

Metoda e tretë e shpjeguar më poshtë, konsiderohet më e sigurt.

Ruajtja e memorjes së emrit të përdoruesit dhe fjalëkalimit të depove të Git në distancë në memorie

E fundit, por jo më pak e rëndësishme, mund të përdorni gjithashtu ndihmësin e kredencialeve Git për të ruajtur përkohësisht kredencialet tuaja në memorie për ca kohë. Për ta bërë këtë, lëshoni komandën e mëposhtme.

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

Pas ekzekutimit të komandës së mësipërme, kur përpiqeni të hyni në një depo private të largët për herë të parë, Git do të kërkojë emrin e përdoruesit dhe fjalëkalimin tuaj dhe do ta ruajë atë në memorie për ca kohë.

Koha e parazgjedhur e memorizimit është 900 sekonda (ose 15 minuta), pas së cilës Git do t'ju kërkojë të vendosni përsëri emrin e përdoruesit dhe fjalëkalimin tuaj. Mund ta ndryshoni si më poshtë (1800 sekonda = 30 minuta ose 3600 sekonda = 1 orë).

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

Për më shumë informacion mbi ndihmësit e Git dhe kredencialeve, shihni faqet e tyre drejtuese.

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

Ishte i dobishëm ky udhëzues? Na tregoni përmes formularit të komenteve më poshtë. Ju gjithashtu mund të ndani çdo pyetje ose mendim rreth kësaj teme.