Konfigurer git -server med SSH på Centos 8

Konfigurer git -server med SSH på Centos 8
Hvis du har et lite teknisk selskap, kan du sette opp en SSH -basert Git -server slik at personene som jobber med et prosjekt kan samarbeide med hverandre. I denne artikkelen skal jeg vise deg hvordan du konfigurerer en Git -server med SSH på Centos 8. Så la oss komme i gang.

Konfigurere SSH for Git Server:

For å sette opp en Git -server for å jobbe over SSH, må du sørge for at SSH er installert og kjører riktig.

Oppdater først CentOS 8 Package Repository Cache med følgende kommando:

$ sudo dnf makecache

Nå, installer SSH -server med følgende kommando:

$ sudo dnf install

Det skal installeres. I mitt tilfelle var det allerede installert.

Nå, sjekk om SSH -tjenesten kjører med følgende kommando:

$ sudo systemctl status sshd

SSH -tjenesten skal kjøres som vist på skjermdumpen nedenfor.

Hvis SSH -tjenesten av en eller annen grunn ikke kjører for deg, kan du starte den med følgende kommando:

$ sudo systemctl start sshd

Tillat nå tilgang til SSH -portene gjennom brannmuren med følgende kommando:

$ sudo brannmur-cmd-add-service = ssh-permanent

Til slutt, kjør følgende kommando for endringer i brannmurkonfigurasjonen for å tre i kraft:

$ sudo Firewall-CMD-Reload

Installere git:

Nå kan du installere GIT med følgende kommando:

$ sudo dnf installer git

For å bekrefte installasjonen, trykk Y og trykk deretter på .

Git skal installeres.

Opprette en dedikert bruker for å være vert for Git -lagringsplasser:

Lag nå en dedikert bruker git med følgende kommando:

$ sudo useradd-create-home-shell /bin /bash git

Logg inn som git Bruker med følgende kommando:

$ sudo su - git

Lag nå en ny katalog ~/.ssh følgende:

$ mkdir ~/.ssh

Bare den git Bruker skal ha lest, skrive og utføre tillatelse til ~/.ssh katalog.

For å gjøre det, kjør følgende kommando:

$ chmod 700 ~/.ssh/

Som du kan se, er det bare brukeren git har lest, skriv og utført tillatelse til katalogen.

$ ls -ld ~/.ssh/

Lag nå en ny fil ~/.SSH/Authorised_Keys følgende:

$ berøring ~/.SSH/Authorised_Keys

Bare den git Bruker skal ha lest og skrevet tillatelse til ~/.SSH/Authorised_Keys fil.

For å gjøre det, kjør følgende kommando:

$ chmod 600 ~/.SSH/Authorised_Keys

Som du kan se, er det bare brukeren git har lest, og skrevet tillatelse til ~/.SSH/Authorised_Keys fil.

$ ls -lh ~/.SSH/Authorised_Keys

Legge til klient offentlig nøkkel til Git -serveren:

For å få tilgang til GIT -depotene på Git -serveren, må brukerne av depotet legge sine offentlige nøkler til Git -serveren.

Brukerne kan generere SSH -nøklene sine med følgende kommando:

$ SSH-KeenGen

trykk .

trykk .

trykk .

SSH -tasten skal genereres.

Nå kan brukerne finne sin offentlige nøkkel i ~/.SSH/ID_RSA.pub fil.

$ katt ~/.SSH/ID_RSA.pub

Nå skal brukerne sende sine offentlige nøkler til Git -serveradministratoren, og serveradministratoren kan legge disse nøklene til Git -serveren.

La oss si, serveradministratoren har lastet opp den offentlige nøkkelfilen til Git -serveren. Filen er i banen /TMP/Shovon-Key.pub.

Nå kan serveradministratoren legge til innholdet i den offentlige nøkkelen til ~/.SSH/Authorised_Keys fil som følger:

$ katt /tmp /shovon-key.pub >> ~/.SSH/Authorised_Keys

Den offentlige nøkkelen bør legges ved slutten av ~/.SSH/Authorised_Keys fil.

Opprette et tomt Git -depot på Git -serveren:

I hjemmekatalogen til git Bruker, vi vil beholde alle våre Git -lagringsplasser som autoriserte mennesker kan få tilgang til.

Å lage et tomt git -depot test På Git -serveren, kjør følgende kommando:

$ git init - -fair test.git

Hvis en autorisert bruker ønsker tilgang.

For å finne IP -adressen til Git -serveren, kjør følgende kommando:

$ nmcli

IP -adressen i mitt tilfelle er 192.168.20.129. Det vil være annerledes for deg. Så sørg for å erstatte den fra nå av.

En ny katalog test.git bør opprettes på Git -serveren.

Få tilgang til Git -lagringsplasser fra Git Server:

Nå kan en autorisert bruker få tilgang til test Git Repository vi har opprettet tidligere som følger:

$ git klon [email protected]: ~/test.git

Hvis brukeren kobler til Git -serveren for første gang, må han/hun skrive inn ja og trykk .

Git -depotet test skal klones.

En ny katalog test/ bør opprettes i brukerens nåværende arbeidskatalog.

Brukeren må navigere til testen/ katalogen som følger:

$ CD -test/

La oss si, brukeren opprettet en ny fil.

$ ECHO "Hello World"> Melding.tekst

Begikk endringene.

$ git Legg til .

$ git commit -m 'initial commit'

$ git log --oneline

Deretter presset brukeren endringene til Git -serveren.

$ git push origin

Legge til et annet teammedlem:

Hvis en annen bruker ønsker å få tilgang til Git Repository -testen, må han generere en SSH -nøkkel og sende den offentlige nøkkelen til Git -serveradministratoren. Når Git -serveradministratoren legger til sin offentlige nøkkel til ~/.SSH/Authorised_Keys fil, brukeren kan også få tilgang til Git -lagringene på serveren.

La oss si, Bob vil også jobbe med test Git Repository.

Han kloner test Git Repository på datamaskinen hans.

$ git klon [email protected]: ~/test.git

Bob typer inn ja og presser .

De test Git Repository er klonet.

Bob navigerer til test/ katalog.

Finner forpliktelsen som personen som jobber med dette Git -depotet laget.

$ git log --oneline

Han gjør noen endringer i prosjektet.

$ ekko "Denne redigering er fra Bob" >> Melding.tekst

Begår endringene.

$ git Legg til .
$ ekko "Denne redigering er fra Bob" >> Melding.tekst
$ git log --oneline

Bob skyver endringene til git -serveren.

Nå, den andre brukeren Shovon Trekker endringene (hvis noen) til Git -depotet fra Git -serveren.

Shovon finner den nye forpliktelsen som Bob laget.

$ kattmelding.tekst

Så det er slik du konfigurerer en Git -server med SSH på Centos 8 og bruker den. Takk for at du leste denne artikkelen.