Hvernig á að laga Git sem biður alltaf um notendaskilríki fyrir HTTP(S) auðkenningu


Til að fá aðgang að eða flytja gögn á öruggan hátt án þess að slá inn notandanafn og lykilorð.

Hins vegar, með HTTP(S), mun sérhver tenging biðja þig um að slá inn notandanafn og lykilorð (þegar Git þarf auðkenningu fyrir tiltekið vefslóð samhengi) – Github notendur vita þetta vel.

Í þessari grein munum við sýna þér hvernig á að laga Git og biðja alltaf um notendaskilríki fyrir aðgang yfir HTTP(S). Við munum útskýra mismunandi leiðir til að koma í veg fyrir að Git biðji ítrekað um notandanafn og lykilorð þegar það er í samskiptum við fjargeymslu yfir HTTP(S).

Hvernig á að setja upp Git í Linux

Ef þú ert ekki með Git pakkann uppsettan á vélinni þinni skaltu keyra viðeigandi skipun fyrir Linux dreifinguna þína til að setja hana upp (notaðu Sudo skipunina þar sem þörf krefur).

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

Sláðu inn Git notendanafn og lykilorð í Remote URL

Eins og við höfðum nefnt áðan, þegar ytri Git geymslu er klónað yfir HTTP(S), þarf hver tenging notendanafn og lykilorð eins og sýnt er.

Til að koma í veg fyrir að Git biðji um notandanafn þitt og lykilorð geturðu slegið inn innskráningarskilríki í vefslóðina eins og sýnt er.

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

Helsti galli þessarar aðferðar að notandanafn þitt og lykilorð verða vistuð í skipuninni í Shell söguskránni.

sem og í .git/config skránni undir staðbundnu möppunni, sem skapar öryggisáhættu.

$ cat .git/config

Athugið: Fyrir Github notendur sem hafa virkjað tvíþætta auðkenningu, eða eru að fá aðgang að fyrirtæki sem notar SAML staka innskráningu, verður þú að búa til og nota persónulegan aðgangslykil í stað þess að slá inn lykilorðið þitt fyrir HTTPS Git (eins og sýnt er í sýnishorninu í þessari handbók). Til að búa til persónulegan aðgangslykil, í Github, farðu í Stillingar => Stillingar þróunaraðila => Persónuleg aðgangstákn.

Vistar Remote Git Repository notendanafn og lykilorð á disknum

Önnur aðferðin er að nota Git skilríkishjálpina til að vista notendanafnið þitt og lykilorð í venjulegri skrá á disknum eins og sýnt er.

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

Héðan í frá mun Git skrifa skilríki í ~/.git-credentials skrána fyrir hvert vefslóð samhengi, þegar það er opnað í fyrsta skipti. Til að skoða innihald þessarar skráar geturðu notað cat skipunina eins og sýnt er.

$ cat  ~/.git-credentials

Fyrir síðari skipanir fyrir sama vefslóð samhengi mun Git lesa notendaskilríki þín úr ofangreindri skrá.

Rétt eins og fyrri aðferðin er þessi leið til að senda notendaskilríki til Git einnig óörugg þar sem geymsluskráin er ódulkóðuð og hún er aðeins vernduð með stöðluðum heimildum skráarkerfisins.

Þriðja aðferðin sem lýst er hér að neðan er talin öruggari.

Skyndiminni Remote Git Repository notandanafn og lykilorð í minni

Síðast en ekki síst geturðu líka notað Git skilríkishjálpina til að vista skilríkin þín tímabundið í minni í nokkurn tíma. Til að gera það skaltu gefa út eftirfarandi skipun.

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

Eftir að hafa keyrt ofangreinda skipun, þegar þú reynir að fá aðgang að ytri einkageymslu í fyrsta skipti, mun Git biðja um notandanafnið þitt og lykilorð og vista það í minni í nokkurn tíma.

Sjálfgefinn skyndiminnistími er 900 sekúndur (eða 15 mínútur), eftir það mun Git biðja þig um að slá inn notandanafnið þitt og lykilorð aftur. Þú getur breytt því á eftirfarandi hátt (1800 sekúndur = 30 mínútur eða 3600 sekúndur = 1 klukkustund).

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

Fyrir frekari upplýsingar um Git og persónuskilríki hjálpar, sjáðu mannasíður þeirra.

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

Var þessi handbók gagnleg? Láttu okkur vita í gegnum athugasemdaformið hér að neðan. Þú getur líka deilt öllum spurningum eða hugsunum um þetta efni.