Git-server configureren:
In deze sectie laat ik je zien hoe je een Ubuntu-server configureert als een SSH-toegankelijke Git-server.
Werk eerst de cache van de APT-pakketrepository bij met de volgende opdracht:
De cache van de APT-pakketrepository moet worden bijgewerkt.
Installeer nu OpenSSH-server en Git met de volgende opdracht:
$ sudo apt install openssh-server git
Druk nu op Y en druk vervolgens op
OpenSSH-server en Git moeten zijn geïnstalleerd.
Maak nu een nieuwe gebruiker aan git met het volgende commando:
$ sudo useradd --create-home --shell /bin/bash git
Alle Git-repositories worden opgeslagen in de homedirectory van de git gebruiker /home/git.
Log nu in als de git gebruiker met het volgende commando:
$ sudo su - git
Maak nu een nieuwe map aan .ssh met het volgende commando:
$ mkdir .ssh
Nu alleen toestaan git gebruiker om lees-, schrijf-, exec-machtigingen voor de map te hebben .ssh/ als volgt:
$ chmod 700 .ssh/
Zoals je kunt zien, is de git gebruiker heeft alleen lees (r), schrijf (w), execute (x) permissies op de .ssh/ map.
$ ls -ld .ssh/
Maak nu een nieuw leeg bestand aan .ssh/authorized_keys als volgt:
$ aanraken .ssh/authorized_keys
Sta alleen lezen en schrijven naar het bestand toe vanuit de git gebruiker als volgt:
$ chmod 600 .ssh/authorized_keys
Zoals u kunt zien, zijn alleen de git gebruiker heeft lees- (r) en schrijf- (w) machtigingen voor het bestand .ssh/authorized_keys.
In de .ssh/authorized_keys bestand, moet u de openbare sleutel toevoegen van de gebruikers die u toegang wilt geven tot de Git-repositories op de Git-server.
Openbare clientsleutel toevoegen aan de Git-server:
Om toegang te krijgen tot de Git-repositories op de Git-server, moet de client zijn/haar openbare sleutel toevoegen aan de Git-server.
De client kan als volgt een publiek-privaat sleutelpaar genereren:
$ ssh-keygen
druk op
druk op
druk op
druk op
Nu kan de klant zijn/haar openbare sleutel als volgt vinden:
$ kat ~/.ssh/id_rsa.kroeg
De openbare sleutel van de klant moet worden afgedrukt. Nu kan de client deze openbare sleutel naar de manager sturen (die de Git-server beheert). De manager kan dan de openbare sleutel toevoegen aan de Git-server. Dan heeft de client toegang tot de Git-server.
Laten we zeggen dat de client zijn/haar openbare sleutel naar de Git-serverbeheerder heeft gestuurd. De beheerder heeft de openbare sleutel geüpload naar: /tmp/shovon-toets.kroeg bestand op de Git-server.
Nu kan de Git-servermanager de openbare sleutel van de client als volgt toevoegen:
$ cat /tmp/shovon-toets.kroeg >> ~/.ssh/authorized_keys
Nu de .ssh/authorized_keys bestand moet de openbare sleutel van de client hebben.
Git-opslagplaatsen op de server maken:
De clients kunnen geen nieuwe Git-repository's op de server maken. De Git-serverbeheerder moet een repository op de server maken. Vervolgens kunnen de clients klonen, duwen/trekken vanuit de repository.
Maak nu een nieuwe lege Git-repository testrepo op de Git-server als volgt:
$ git init --bare testrepo
Nu hoeft de client alleen het IP-adres van de Git-server te weten om toegang te krijgen tot de testrepo Git-opslagplaats.
De Git-serverbeheerder kan deze informatie als volgt vinden:
$ ip aZoals je kunt zien, is het IP-adres van de Git-server: 192.168.21.185. Nu kan de servermanager het vertellen aan de klanten die aan het project gaan werken.
Git Repository klonen vanaf de server:
Zodra de client het IP-adres en de Git-repositorynaam kent, kan hij/zij het als volgt naar zijn/haar computer klonen:
$ git kloon [email protected]:~/>testrepo
Typ nu in Ja en druk op
De testrepo Git-repository moet van de server worden gekloond.
Een nieuwe map testrepo moet worden gemaakt.
Wijzigingen aanbrengen en wijzigingen doorvoeren naar Git Server:
Nu kan de klant commits toevoegen aan de testrepo/ repository en push de wijzigingen naar de Git-server.
$ cd-testrepo/$ echo "Hallo wereld" > test.tekst
$ git toevoegen .
$ git commit -m 'initiële commit'
[/cc[
[cc lang="bash"]
$ git push oorsprong
Een nieuw teamlid toevoegen:
Nu, laten we zeggen, bob wil bijdragen aan de testrepo Git-opslagplaats.
Het enige wat hij hoeft te doen is een SSH-sleutelpaar genereren en de openbare sleutel naar de Git-serverbeheerder sturen.
$ ssh-keygen
Zodra de Git-servermanager de openbare sleutel heeft van: bob, hij kan het uploaden naar de Git-server en het toevoegen aan de .ssh/authorized_keys bestand als volgt:
$ cat /tmp/bob-toets.kroeg >> ~/.ssh/authorized_keys
Nu, bob kan de klonen testrepo Git-repository van de server als volgt:
$ git kloon [email protected]:~/testrepo
testrepo zou gekloond moeten worden.
Een nieuwe map testrepo moet worden gemaakt in de computer van bob.
Bob kan nu als volgt naar de Git-repository navigeren:
$ cd-testrepo/
Hij zou een aantal bestaande commits moeten vinden.
$ git log
Nu, bob kan zijn eigen werk doen en het begaan. Duw vervolgens de wijzigingen naar de server.
$ echo "Hallo wereld 2" >> test.tekst$ git toevoegen .
$ git commit -m 'Bericht gewijzigd'
$ git push oorsprong
Nu kunnen andere mensen die aan dezelfde repository werken de wijzigingen als volgt doorvoeren:
$ git pull oorsprong
Hij/zij zou de commits moeten vinden die bob gemaakt.
Dus dit is hoe je een Git Server met SSH op Ubuntu configureert en gebruikt and. Bedankt voor het lezen van dit artikel.