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.