Jinsi ya Kurekebisha Git Kila Wakati Inauliza Kwa Vitambulisho vya Mtumiaji Kwa Uthibitishaji wa HTTP(S).


Ili kufikia au kuhamisha data kwa usalama bila kuandika jina lako la mtumiaji na nenosiri.

Walakini, kwa HTTP(S), kila muunganisho utakuhimiza kuingiza jina lako la mtumiaji na nenosiri (wakati Git inahitaji uthibitishaji wa muktadha fulani wa URL) - Watumiaji wa Github wanajua hili vyema.

Katika nakala hii, tutakuonyesha jinsi ya kurekebisha Git ikiuliza kila wakati vitambulisho vya mtumiaji kwa ufikiaji kupitia HTTP(S). Tutaelezea njia tofauti za kuzuia Git kutoka kwa kuuliza mara kwa mara kwa jina la mtumiaji na nywila wakati wa kuingiliana na hazina ya mbali juu ya HTTP(S).

Jinsi ya kufunga Git kwenye Linux

Ikiwa huna kifurushi cha Git kilichosakinishwa kwenye mfumo wako, endesha amri inayofaa kwa usambazaji wako wa Linux ili kukisakinisha (tumia amri ya Sudo inapohitajika).

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

Kuingiza Jina la Mtumiaji la Git na Nenosiri katika URL ya Mbali

Kama tulivyosema hapo awali, wakati wa kuunda hazina ya mbali ya Git juu ya HTTP(S), kila muunganisho unahitaji jina la mtumiaji na nywila kama inavyoonyeshwa.

Ili kuzuia Git kuuliza jina lako la mtumiaji na nywila, unaweza kuingiza kitambulisho cha kuingia kwenye URL kama inavyoonyeshwa.

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

Upungufu kuu wa njia hii kwamba jina lako la mtumiaji na nenosiri litahifadhiwa katika amri katika faili ya historia ya Shell.

vile vile katika faili ya .git/config chini ya folda ya ndani, ambayo ina hatari ya usalama.

$ cat .git/config

Kumbuka: Kwa watumiaji wa Github ambao wamewezesha uthibitishaji wa vipengele viwili, au wanafikia shirika linalotumia kuingia mara moja kwa SAML, lazima utengeneze na utumie tokeni ya ufikiaji wa kibinafsi badala ya kuweka nenosiri lako la HTTPS Git (kama inavyoonyeshwa kwenye sampuli za matokeo. katika mwongozo huu). Ili kutengeneza tokeni ya ufikiaji wa kibinafsi, katika Github, nenda kwa Mipangilio => Mipangilio ya Msanidi => Ishara za ufikiaji wa kibinafsi.

Kuhifadhi Jina la mtumiaji la Hifadhi ya Mbali ya Git na Nenosiri kwenye Diski

Njia ya pili ni kutumia msaidizi wa sifa za Git kuhifadhi jina lako la mtumiaji na nywila kwenye faili wazi kwenye diski kama inavyoonyeshwa.

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

Kuanzia sasa na kuendelea, Git itaandika vitambulisho kwa faili ya ~/.git- sifa kwa kila muktadha wa URL, inapofikiwa kwa mara ya kwanza. Kuangalia yaliyomo kwenye faili hii, unaweza kutumia paka amri kama inavyoonyeshwa.

$ cat  ~/.git-credentials

Kwa amri zinazofuata za muktadha sawa wa URL, Git itasoma kitambulisho chako cha mtumiaji kutoka kwa faili iliyo hapo juu.

Kama tu njia ya hapo awali, njia hii ya kupitisha kitambulisho cha mtumiaji kwa Git pia sio salama kwani faili ya uhifadhi haijasimbwa na inalindwa tu na ruhusa za kawaida za mfumo.

Njia ya tatu iliyoelezwa hapo chini, inachukuliwa kuwa salama zaidi.

Kuhifadhi Hifadhi ya Git ya Mbali Jina la mtumiaji na Nenosiri kwenye Kumbukumbu

Mwisho kabisa, unaweza pia kutumia msaidizi wa vitambulisho vya Git ili kuhifadhi kitambulisho chako kwa kumbukumbu kwa muda. Ili kufanya hivyo, toa amri ifuatayo.

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

Baada ya kutekeleza amri hapo juu, unapojaribu kupata hazina ya kibinafsi ya mbali kwa mara ya kwanza, Git itauliza jina lako la mtumiaji na nywila na kuihifadhi kwenye kumbukumbu kwa muda.

Wakati chaguo-msingi wa kuweka akiba ni sekunde 900 (au dakika 15), baada ya hapo Git itakuhimiza kuingiza jina lako la mtumiaji na nenosiri tena. Unaweza kuibadilisha kama ifuatavyo (sekunde 1800 = dakika 30 au sekunde 3600 = 1hour).

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

Kwa habari zaidi juu ya Git na wasaidizi wa vitambulisho, angalia kurasa zao za watu.

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

Je, mwongozo huu ulikuwa wa manufaa? Tujulishe kupitia fomu ya maoni hapa chini. Unaweza pia kushiriki maswali au mawazo yoyote kuhusu mada hii.