Kā novērst Git, vienmēr pieprasot lietotāja akreditācijas datus HTTP (S) autentifikācijai


Lai piekļūtu datiem vai droši tos pārsūtītu, neievadot savu lietotājvārdu un paroli.

Tomēr, izmantojot HTTP (S), katrs savienojums liks jums ievadīt savu lietotājvārdu un paroli (kad Git nepieciešama autentifikācija noteiktā URL kontekstā) - Github lietotāji to labi zina.

Šajā rakstā mēs parādīsim, kā novērst Git, vienmēr pieprasot lietotāja akreditācijas datus piekļuvei, izmantojot HTTP (S). Mēs izskaidrosim dažādus veidus, kā novērst Git atkārtotu pieprasīšanu pēc lietotājvārda un paroles, mijiedarbojoties ar attālo repozitoriju, izmantojot HTTP (S).

Kā instalēt Git Linux

Ja jūsu sistēmā nav instalēta Git pakotne, palaidiet Linux distribūcijai atbilstošu komandu, lai to instalētu (vajadzības gadījumā izmantojiet komandu Sudo).

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

Git lietotājvārda un paroles ievadīšana attālajā URL

Kā jau minējām iepriekš, klonējot attālo Git repozitoriju, izmantojot HTTP (S), katram savienojumam ir nepieciešams lietotājvārds un parole, kā parādīts.

Lai neļautu Gitam lūgt jūsu lietotājvārdu un paroli, varat ievadīt pieteikšanās akreditācijas datus vietrādī URL, kā parādīts.

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

Šīs metodes galvenais trūkums ir tas, ka jūsu lietotājvārds un parole tiks saglabāti komandā Shell vēstures failā.

kā arī .git/config failā zem lokālās mapes, kas rada drošības risku.

$ cat .git/config

Piezīme. Github lietotājiem, kuri ir iespējojuši divu faktoru autentifikāciju vai piekļūst organizācijai, kas izmanto SAML vienreizējo pierakstīšanos, jums ir jāģenerē un jāizmanto personiskās piekļuves marķieris, nevis jāievada sava parole HTTPS Git (kā parādīts izejas paraugos) šajā rokasgrāmatā). Lai ģenerētu personiskās piekļuves pilnvaru, pakalpojumā Github dodieties uz Iestatījumi => Izstrādātāja iestatījumi => Personiskās piekļuves marķieri.

Attālā Git repozitorija lietotājvārda un paroles saglabāšana diskā

Otra metode ir izmantot Git akreditācijas datu palīgu, lai saglabātu savu lietotājvārdu un paroli vienkāršā failā diskā, kā parādīts.

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

Turpmāk Git rakstīs akreditācijas datus ~/.git-credentials failā katram URL kontekstam, kad tam piekļūs pirmo reizi. Lai skatītu šī faila saturu, varat izmantot kaķu komandu, kā parādīts.

$ cat  ~/.git-credentials

Nākamajām komandām tajā pašā URL kontekstā Git nolasīs jūsu lietotāja akreditācijas datus no iepriekš minētā faila.

Tāpat kā iepriekšējā metode, arī šis lietotāja akreditācijas datu nodošana Git nav drošs, jo krātuves fails nav šifrēts un to aizsargā tikai standarta failu sistēmas atļaujas.

Trešā tālāk paskaidrotā metode tiek uzskatīta par drošāku.

Kešatmiņa attālās Git repozitorija lietotājvārds un parole atmiņā

Visbeidzot, jūs varat arī izmantot Git akreditācijas datu palīgu, lai uz laiku saglabātu akreditācijas datus atmiņā. Lai to izdarītu, izsniedziet šādu komandu.

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

Pēc iepriekš minētās komandas palaišanas, mēģinot pirmo reizi piekļūt attālajam privātajam repozitorijam, Git lūgs jūsu lietotājvārdu un paroli un kādu laiku to saglabās atmiņā.

Noklusējuma kešatmiņas laiks ir 900 sekundes (vai 15 minūtes), pēc kura Git liks jums vēlreiz ievadīt savu lietotājvārdu un paroli. To var mainīt šādi (1800 sekundes = 30 minūtes vai 3600 sekundes = 1 stunda).

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

Lai iegūtu papildinformāciju par Git un akreditācijas datu palīgiem, skatiet viņu rokasgrāmatas.

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

Vai šī rokasgrāmata bija noderīga? Informējiet mūs, izmantojot tālāk sniegto atsauksmju veidlapu. Jūs varat arī dalīties ar visiem jautājumiem vai domām par šo tēmu.