Git

Configureer Git Server met SSH op Ubuntu

Configureer Git Server met SSH op Ubuntu
Als je een klein aantal teamleden hebt die aan sommige projecten werken, dan kun je een Git-server via SSH op je kantoor opzetten en heel gemakkelijk als team aan projecten werken. U hoeft in dat geval geen GitHub of andere services te gebruiken. Op SSH gebaseerde Git-server is heel eenvoudig in te stellen en te gebruiken. In dit artikel laat ik je zien hoe je een Git-server met SSH op Ubuntu configureert en hoe je deze gebruikt. Dus laten we beginnen.

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:

$ sudo apt-update

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 om de installatie te bevestigen:.

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 a

Zoals 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 . U moet dit één keer doen, alleen de eerste keer.

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.

Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...
5 beste arcade-spellen voor Linux
Tegenwoordig zijn computers serieuze machines die worden gebruikt om te gamen. Als je de nieuwe hoge score niet kunt halen, weet je wat ik bedoel. In ...
Strijd om Wesnoth 1.13.6 Ontwikkeling vrijgegeven
Strijd om Wesnoth 1.13.6 die vorige maand werd uitgebracht, is de zesde ontwikkelingsrelease in de 1.13.x-serie en het levert een aantal verbeteringen...