Git

Configureer Git Server met SSH op CentOS 8

Configureer Git Server met SSH op CentOS 8
Als je een klein technologiebedrijf hebt, kun je een op SSH gebaseerde Git-server opzetten zodat de mensen die aan een project werken met elkaar kunnen samenwerken. In dit artikel laat ik je zien hoe je een Git-server configureert met SSH op CentOS 8. Dus laten we beginnen.

SSH configureren voor Git Server:

Om een ​​Git-server in te stellen om via SSH te werken, moet u ervoor zorgen dat SSH is geïnstalleerd en correct werkt.

Werk eerst de cache van de CentOS 8-pakketrepository bij met de volgende opdracht:

$ sudo dnf makecache

Installeer nu de SSH-server met de volgende opdracht:

$ sudo dnf install -y openssh

Het moet worden geïnstalleerd. In mijn geval was het al geïnstalleerd.

Controleer nu of de SSH-service actief is met het volgende commando:

$ sudo systemctl status sshd

De SSH-service zou moeten werken zoals weergegeven in de onderstaande schermafbeelding.

Als om de een of andere reden de SSH-service niet voor u wordt uitgevoerd, kunt u deze starten met de volgende opdracht:

$ sudo systemctl start sshd

Sta nu toegang tot de SSH-poorten toe via de firewall met de volgende opdracht:

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

Voer ten slotte de volgende opdracht uit om de wijzigingen in de firewallconfiguratie door te voeren:

$ sudo firewall-cmd --reload

Git installeren:

Nu kun je Git installeren met het volgende commando:

$ sudo dnf install git

Om de installatie te bevestigen, drukt u op Y en vervolgens op .

Git moet geïnstalleerd zijn.

Een toegewijde gebruiker maken voor het hosten van Git-opslagplaatsen:

Maak nu een toegewijde gebruiker aan git met het volgende commando:

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

Log nu in als de git gebruiker met het volgende commando:

$ sudo su - git

Maak nu een nieuwe map aan ~/.ssh als volgt:

$ mkdir ~/.ssh

Alleen de git gebruiker moet lees-, schrijf- en uitvoerrechten hebben voor de ~/.ssh map.

Voer hiervoor de volgende opdracht uit:

$ chmod 700 ~/.ssh/

Zoals je kunt zien, nu alleen de gebruiker git heeft lees-, schrijf- en uitvoeringsrechten voor de directory.

$ ls -ld ~/.ssh/

Maak nu een nieuw bestand aan ~/.ssh/authorized_keys als volgt:

$ raak ~/.ssh/authorized_keys

Alleen de git gebruiker moet lees- en schrijfrechten hebben voor de ~/.ssh/authorized_keys het dossier.

Voer hiervoor de volgende opdracht uit:

$ chmod 600 ~/.ssh/authorized_keys

Zoals je kunt zien, nu alleen de gebruiker git heeft lees- en schrijfrechten voor de ~/.ssh/authorized_keys het dossier.

$ ls -lh ~/.ssh/authorized_keys

Openbare clientsleutel toevoegen aan de Git-server:

Om toegang te krijgen tot de git-repositories op de Git-server, moeten de gebruikers van de repository hun openbare sleutels toevoegen aan de Git-server.

De gebruikers kunnen hun SSH-sleutels genereren met het volgende commando:

$ ssh-keygen

druk op .

druk op .

druk op .

De SSH-sleutel moet worden gegenereerd.

Nu kunnen de gebruikers hun openbare sleutel vinden in de ~/.ssh/id_rsa.kroeg het dossier.

$ kat ~/.ssh/id_rsa.kroeg

Nu moeten de gebruikers hun openbare sleutels naar de Git-serverbeheerder sturen en de serverbeheerder kan deze sleutels toevoegen aan de Git-server.

Laten we zeggen dat de serverbeheerder het bestand met de openbare sleutel naar de Git-server heeft geüpload. Het bestand staat in het pad /tmp/shovon-toets.kroeg.

Nu kan de serverbeheerder de inhoud van de openbare sleutel toevoegen aan de ~/.ssh/authorized_keys bestand als volgt:

$ cat /tmp/shovon-toets.kroeg >> ~/.ssh/authorized_keys

De openbare sleutel moet worden toegevoegd aan het einde van de ~/.ssh/authorized_keys het dossier.

Een lege Git-repository maken op de Git-server:

In de homedirectory van de git gebruiker, we bewaren al onze Git-repository's waartoe geautoriseerde mensen toegang hebben.

Een lege Git-repository maken test voer op de Git-server de volgende opdracht uit:

$ git init --bare test.git

Als een geautoriseerde gebruiker toegang wil tot de Git-repository vanaf de Git-server, heeft hij alleen de naam van de Git-repository en het IP-adres van de Git-server nodig.

Voer de volgende opdracht uit om het IP-adres van de Git-server te vinden:

$ nmcli

Het IP-adres in mijn geval is 192.168.20.129. Het zal voor jou anders zijn. Zorg er dus voor dat u deze vanaf nu vervangt.

Een nieuwe map test.git moet worden gemaakt op de Git-server.

Toegang tot Git-opslagplaatsen vanaf Git Server:

Nu heeft een geautoriseerde gebruiker toegang tot de: test Git-repository die we eerder als volgt hebben gemaakt:

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

Als de gebruiker voor de eerste keer verbinding maakt met de Git-server, moet hij/zij intypen: Ja en druk op .

De Git-repository test zou gekloond moeten worden.

Een nieuwe map test/ moet worden aangemaakt in de huidige werkdirectory van de gebruiker.

De gebruiker moet als volgt naar de test/directory navigeren:

$ cd-test/

Laten we zeggen dat de gebruiker een nieuw bestand heeft gemaakt.

$ echo "Hallo wereld" > bericht.tekst

De wijzigingen doorgevoerd.

$ git toevoegen .

$ git commit -m 'initiële commit'

$ git log --oneline

Vervolgens pushte de gebruiker de wijzigingen naar de Git-server.

$ git push oorsprong

Nog een teamlid toevoegen:

Als een andere gebruiker toegang wil tot de Git-repositorytest, moet hij een SSH-sleutel genereren en de openbare sleutel naar de Git-serverbeheerder sturen. Zodra de Git-serverbeheerder zijn/haar openbare sleutel aan de ~/.ssh/authorized_keys bestand, heeft de gebruiker ook toegang tot de Git-repositories op de server.

Laten we zeggen, bob wil ook werken aan de test Git-opslagplaats.

Hij kloont de test Git-repository op zijn computer.

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

bob typt in Ja en drukt op .

De test Git-repository is gekloond.

bob navigeert naar de test/ map.

Vindt de commit die de persoon die aan deze Git-repository werkte heeft gemaakt.

$ git log --oneline

Hij brengt enkele wijzigingen aan in het project.

$ echo "deze bewerking is van bob" >> bericht.tekst

Legt de wijzigingen vast.

$ git toevoegen .

$ echo "deze bewerking is van bob" >> bericht.tekst

$ git log --oneline

bob pusht de wijzigingen naar de Git-server.

Nu, de andere gebruiker sjovon haalt de wijzigingen (indien van toepassing) naar de Git-repository van de Git-server.

sjovon vindt de nieuwe commit die bob gemaakt.

$ kat bericht.tekst

Dus zo configureer je een Git-server met SSH op CentOS 8 en gebruik je deze. Bedankt voor het lezen van dit artikel.

Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...
Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...
Beste spellen om te spelen met handtracking
Oculus Quest introduceerde onlangs het geweldige idee van handtracking zonder controllers. Met een steeds toenemend aantal games en activiteiten die f...