Konfiguration af SSH til Git Server:
For at opsætte en Git-server til at arbejde over SSH skal du sørge for, at SSH er installeret og kører korrekt.
Opdater først CentOS 8-pakkeopbevaringscachen med følgende kommando:
$ sudo dnf makecache
Installer nu SSH-server med følgende kommando:
$ sudo dnf installation -y openssh
Det skal installeres. I mit tilfælde var det allerede installeret.
Kontroller nu, om SSH-tjenesten kører med følgende kommando:
$ sudo systemctl status sshd
SSH-tjenesten skal køre som vist på skærmbilledet nedenfor.
Hvis SSH-tjenesten af en eller anden grund ikke kører for dig, kan du starte den med følgende kommando:
$ sudo systemctl start sshdTillad nu adgang til SSH-porte gennem firewallen med følgende kommando:
$ sudo firewall-cmd --add-service = ssh --permanent
Endelig kør følgende kommando for at firewallkonfigurationsændringerne skal træde i kraft:
$ sudo firewall-cmd --reload
Installation af Git:
Nu kan du installere Git med følgende kommando:
$ sudo dnf installere git
For at bekræfte installationen skal du trykke på Y og derefter trykke på
Git skal installeres.
Oprettelse af en dedikeret bruger til hosting af Git Repositories:
Opret nu en dedikeret bruger git med følgende kommando:
$ sudo useradd --create-home - shell / bin / bash git
Log nu ind som git bruger med følgende kommando:
$ sudo su - git
Opret nu en ny mappe ~ /.ssh som følger:
$ mkdir ~ /.ssh
Kun den git brugeren skulle have læst, skrevet og udført tilladelse til ~ /.ssh vejviser.
For at gøre det skal du køre følgende kommando:
$ chmod 700 ~ /.ssh /
Som du kan se, nu kun brugeren git har læst, skrevet og udført tilladelse til biblioteket.
$ ls -ld ~ /.ssh /
Opret nu en ny fil ~ /.ssh / autoriserede_taster som følger:
$ touch ~ /.ssh / autoriserede_taster
Kun den git brugeren skal have læse - og skrivetilladelse til ~ /.ssh / autoriserede_taster fil.
For at gøre det skal du køre følgende kommando:
$ chmod 600 ~ /.ssh / autoriserede_taster
Som du kan se, nu kun brugeren git har læst, og skriv tilladelse til ~ /.ssh / autoriserede_taster fil.
$ ls -lh ~ /.ssh / autoriserede_taster
Tilføjelse af klientens offentlige nøgle til Git Server:
For at få adgang til git-arkiverne på Git-serveren skal brugerne af arkivet tilføje deres offentlige nøgler til Git-serveren.
Brugerne kan generere deres SSH-nøgler med følgende kommando:
$ ssh-keygen
Trykke
Trykke
Trykke
SSH-nøglen skal genereres.
Nu kan brugerne finde deres offentlige nøgle i ~ /.ssh / id_rsa.pub fil.
$ kat ~ /.ssh / id_rsa.pub
Nu skal brugerne sende deres offentlige nøgler til Git-serveradministratoren, og serveradministratoren kan føje disse nøgler til Git-serveren.
Lad os sige, serveradministratoren har uploadet den offentlige nøglefil til Git-serveren. Filen er i stien / tmp / shovon-tast.pub.
Nu kan serveradministratoren føje indholdet af den offentlige nøgle til ~ /.ssh / autoriserede_taster fil som følger:
$ cat / tmp / shovon-nøgle.pub >> ~ /.ssh / autoriserede_taster
Den offentlige nøgle skal tilføjes til slutningen af ~ /.ssh / autoriserede_taster fil.
Oprettelse af et tomt Git-lager på Git-serveren:
I hjemmekataloget til git bruger, gemmer vi alle vores Git-arkiver, som autoriserede personer har adgang til.
For at oprette et tomt Git-arkiv prøve kør følgende kommando på Git-serveren:
$ git init - kun test.git
Hvis en autoriseret bruger ønsker at få adgang til Git-arkivet fra Git-serveren, er alt, hvad han har brug for, navnet på Git-arkivet og Git-serverens IP-adresse.
For at finde IP-adressen på Git-serveren skal du køre følgende kommando:
$ nmcliIP-adressen i mit tilfælde er 192.168.20.129. Det vil være anderledes for dig. Så sørg for at udskifte det fra nu af.
En ny mappe prøve.git skal oprettes på Git-serveren.
Adgang til Git-arkiver fra Git Server:
Nu kan en autoriseret bruger få adgang til prøve Git-lager, vi har oprettet tidligere som følger:
$ git klon git @ 192.168.20.129: ~ / test.git
Hvis brugeren opretter forbindelse til Git-serveren for første gang, skal han / hun indtaste Ja og tryk på
Git-arkivet prøve skal klones.
En ny mappe prøve/ skal oprettes i brugerens aktuelle arbejdsmappe.
Brugeren skal navigere til testen / kataloget som følger:
$ cd test /
Lad os sige, brugeren oprettede en ny fil.
$ echo "Hello world"> besked.txt
Forpligtede ændringerne.
$ git tilføj .
$ git commit -m 'initial commit'
$ git log - online
Derefter skubbede brugeren ændringerne til Git-serveren.
$ git push oprindelse
Tilføjelse af endnu et teammedlem:
Hvis en anden bruger ønsker at få adgang til Git-lagertesten, skal han generere en SSH-nøgle og sende den offentlige nøgle til Git-serveradministratoren. Når Git-serveradministratoren tilføjer sin offentlige nøgle til ~ /.ssh / autoriserede_taster fil, kan brugeren også få adgang til Git-arkiverne på serveren.
Lad os sige, bob ønsker også at arbejde på prøve Git-arkiv.
Han kloner prøve Git arkiv på sin computer.
$ git klon git @ 192.168.20.129: ~ / test.git
bob indtaster Ja og trykker på
Det prøve Git-arkiv er klonet.
bob navigerer til prøve/ vejviser.
Finder det tilsagn, som den person, der arbejder på dette Git-arkiv, lavede.
$ git log - online
Han foretager nogle ændringer i projektet.
$ echo "denne redigering er fra bob" >> besked.txt
Forpligter ændringerne.
$ git tilføj .$ echo "denne redigering er fra bob" >> besked.txt
$ git log - online
bob skubber ændringerne til Git-serveren.
Nu, den anden bruger shovon trækker ændringerne (hvis nogen) til Git-arkivet fra Git-serveren.
shovon finder den nye begå det bob lavet.
$ cat besked.txt
Så det er sådan, du konfigurerer en Git-server med SSH på CentOS 8 og bruger den. Tak, fordi du læste denne artikel.