Konfigurere SSH for Git Server:
For å sette opp en Git-server til å fungere over SSH, må du sørge for at SSH er installert og kjører riktig.
Oppdater først CentOS 8-pakkeoppbevaringsbufferen med følgende kommando:
$ sudo dnf makecache
Installer nå SSH-server med følgende kommando:
$ sudo dnf install -y openssh
Den skal installeres. I mitt tilfelle var den allerede installert.
Sjekk nå om SSH-tjenesten kjører med følgende kommando:
$ sudo systemctl status sshd
SSH-tjenesten skal kjøre som vist på skjermbildet 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 sshdNå, gi tilgang til SSH-porter gjennom brannmuren med følgende kommando:
$ sudo firewall-cmd --add-service = ssh --permanent
Til slutt kjører du følgende kommando for at brannmurkonfigurasjonsendringene skal tre i kraft:
$ sudo firewall-cmd --reload
Installere Git:
Nå kan du installere Git med følgende kommando:
$ sudo dnf installere git
For å bekrefte installasjonen, trykk på Y og deretter på
Git bør installeres.
Opprette en dedikert bruker for hosting av Git-arkiver:
Lag nå en dedikert bruker git med følgende kommando:
$ sudo useradd --create-home - shell / bin / bash git
Nå, logg inn som git bruker med følgende kommando:
$ sudo su - git
Lag nå en ny katalog ~ /.ssh som følger:
$ mkdir ~ /.ssh
Bare den git brukeren skal ha lest, skrevet og utført tillatelse til ~ /.ssh katalog.
For å gjøre det, kjør følgende kommando:
$ chmod 700 ~ /.ssh /
Som du kan se, nå bare brukeren git har lest, skrevet og utført tillatelse til katalogen.
$ ls -ld ~ /.ssh /
Lag nå en ny fil ~ /.ssh / autoriserte_taster som følger:
$ touch ~ /.ssh / autoriserte_taster
Bare den git brukeren skal ha lese- og skrivetillatelse til ~ /.ssh / autoriserte_taster fil.
For å gjøre det, kjør følgende kommando:
$ chmod 600 ~ /.ssh / autoriserte_taster
Som du kan se, nå bare brukeren git har lest, og skriv tillatelse til ~ /.ssh / autoriserte_taster fil.
$ ls -lh ~ /.ssh / autoriserte_taster
Legge til klientens offentlige nøkkel til Git Server:
For å få tilgang til git-arkivene på Git-serveren, må brukerne av depotet legge til de offentlige nøklene til Git-serveren.
Brukerne kan generere sine SSH-nøkler med følgende kommando:
$ ssh-keygen
trykk
trykk
trykk
SSH-nøkkelen 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 til disse nøklene til Git-serveren.
La oss si at serveradministratoren har lastet opp filen med den offentlige nøkkelen til Git-serveren. Filen er i banen / tmp / shovon-tast.pub.
Nå kan serveradministratoren legge til innholdet i den offentlige nøkkelen i ~ /.ssh / autoriserte_taster filen som følger:
$ cat / tmp / shovon-key.pub >> ~ /.ssh / autoriserte_taster
Den offentlige nøkkelen skal legges til på slutten av ~ /.ssh / autoriserte_taster fil.
Opprette et tomt Git-arkiv på Git-serveren:
I hjemmekatalogen til git bruker, vil vi beholde alle Git-arkivene våre som autoriserte personer har tilgang til.
For å lage et tomt Git-arkiv test på Git-serveren, kjør følgende kommando:
$ git init - bare test.git
Hvis en autorisert bruker ønsker å få tilgang til Git-depotet fra Git-serveren, er alt han trenger navnet på Git-depotet og IP-adressen til Git-serveren.
For å finne IP-adressen til Git-serveren, kjør følgende kommando:
$ nmcliIP-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 skal opprettes på Git-serveren.
Få tilgang til Git Repositories fra Git Server:
Nå kan en autorisert bruker få tilgang til test Git repository vi har opprettet tidligere som følger:
$ git clone git @ 192.168.20.129: ~ / 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/ skal opprettes i brukerens nåværende arbeidskatalog.
Brukeren må navigere til testen / katalogen som følger:
$ cd test /
La oss si at brukeren opprettet en ny fil.
$ echo "Hello world"> melding.tekst
Forpliktet endringene.
$ git add .
$ git commit -m 'initial commit'
$ git log --online
Deretter presset brukeren endringene til Git-serveren.
$ git push opprinnelse
Legge til et nytt teammedlem:
Hvis en annen bruker vil 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 i ~ /.ssh / autoriserte_taster filen, kan brukeren også få tilgang til Git-arkivene på serveren.
La oss si, bob ønsker også å jobbe med test Git-depot.
Han kloner test Git repository på datamaskinen sin.
$ git clone git @ 192.168.20.129: ~ / test.git
bob skriver inn ja og trykker på
De test Git-depot er klonet.
bob navigerer til test/ katalog.
Finner forpliktelsen som personen som jobber med dette Git-depotet gjorde.
$ git log --online
Han gjør noen endringer i prosjektet.
$ echo "denne redigeringen er fra bob" >> -meldingen.tekst
Forplikter endringene.
$ git add .$ echo "denne redigeringen er fra bob" >> -meldingen.tekst
$ git log --online
bob skyver endringene til Git-serveren.
Nå, den andre brukeren shovon trekker endringene (hvis noen) til Git-arkivet fra Git-serveren.
shovon finner den nye forplikte det bob laget.
$ katt melding.tekst
Så det er slik du konfigurerer en Git-server med SSH på CentOS 8 og bruker den. Takk for at du leser denne artikkelen.