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 sshdSta 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:
$ nmcliHet 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.