Als je een klein aantal teamleden hebt die aan een aantal projecten werken, dan kun je een Git server via SSH op je kantoor instellen en heel gemakkelijk als een team aan projecten werken. Je hoeft GitHub of andere diensten in dat geval niet te gebruiken. SSH gebaseerde Git server is echt eenvoudig in te stellen en te gebruiken. In dit artikel zal ik je laten zien hoe je een Git server met SSH op Ubuntu kunt configureren en hoe je het kunt gebruiken. Dus, laten we beginnen.
In dit gedeelte ga ik je laten zien hoe je een Ubuntu server kunt configureren als een SSH toegankelijke Git server.
Werk eerst de APT package repository cache bij met het volgende commando:
De APT package repository cache zou nu bijgewerkt moeten zijn.
Nu installeert u OpenSSH-server en Git met het volgende commando:
Nu, druk op Y en vervolgens op <Enter> om de installatie te bevestigen.
OpenSSH-server en Git zouden nu geïnstalleerd moeten zijn.
Nu maakt u een nieuwe gebruiker git aan met het volgende commando:
Alle Git repositories zullen worden opgeslagen in de home directory van de git gebruiker /home/git.
Nu log je in als de git-gebruiker met het volgende commando:
Nu maak je een nieuwe directory .ssh met het volgende commando:
Nu, geef alleen de git-gebruiker lees-, schrijf-, en uitvoeringsrechten op de directory .ssh/ als volgt:
Zoals je kunt zien, heeft de git-gebruiker alleen lees- (r), schrijf- (w), en uitvoer- (x) rechten op de .ssh/ directory.
Nu, maak een nieuw leeg bestand .ssh/authorized_keys als volgt aan:
Maak lezen en schrijven naar het bestand alleen mogelijk voor de git-gebruiker, en wel als volgt:
Zoals u kunt zien, heeft alleen de git-gebruiker lees- (r) en schrijfrechten (w) voor het bestand .ssh/authorized_keys.
In het .ssh/authorized_keys bestand moet je de publieke sleutel toevoegen van de gebruikers die je toegang wilt geven tot de Git repositories op de Git server.
De publieke sleutel van de client aan de Git server toevoegen:
Om toegang te krijgen tot de Git repositories op de Git server, moet de client zijn/haar publieke sleutel aan de Git server toevoegen.
De client kan als volgt een publiek-privaat sleutelpaar genereren:
Druk op <Enter>.
Druk op <Enter>.
Druk op <Enter>.
Druk op <Enter>
Nu kan de client zijn/haar publieke sleutel als volgt vinden:
De openbare sleutel van de client zou moeten worden afgedrukt. Nu kan de client deze publieke sleutel naar de manager sturen (die de Git server beheert). De manager kan dan de publieke sleutel aan de Git server toevoegen. Vervolgens kan de client toegang krijgen tot de Git server.
Laten we zeggen dat de client zijn/haar publieke sleutel naar de Git server manager heeft gestuurd. De manager heeft de publieke sleutel geüpload naar het bestand /tmp/shovon-key.pub op de Git server.
Nu kan de Git server manager de publieke sleutel van de client als volgt toevoegen:
Nu moet het bestand .ssh/authorized_keys de openbare sleutel van de client bevatten.
Git-repositories op de server aanmaken:
De clients kunnen geen nieuwe Git-repositories op de server aanmaken. De Git server manager moet een repository op de server aanmaken. Daarna kunnen de clients clonen, pushen/pullen van de repository.
Nu, maak een nieuwe lege Git repository testrepo op de Git server als volgt:
Nu hoeft de client alleen nog maar het IP-adres van de Git server te weten om toegang te krijgen tot de testrepo Git repository.
De Git server manager kan deze informatie als volgt vinden:
Zoals je kunt zien, is het IP adres van de Git server 192.168.21.185. Nu kan de serverbeheerder het doorgeven aan de klanten die aan het project zullen werken.
Git-repository van de server klonen:
Als de client eenmaal het IP-adres en de naam van de Git-repository weet, kan hij/zij deze als volgt naar zijn/haar computer klonen:
Nu typt u ja in en drukt u op <Enter>. U hoeft dit maar één keer te doen, alleen de eerste keer.
De Git-repository testrepo moet worden gekloond van de server.
Er moet een nieuwe directory testrepo worden aangemaakt.
Wijzigingen maken en wijzigingen naar de Git server pushen:
Nu kan de client commits toevoegen aan de testrepo/ repository en de wijzigingen naar de Git server pushen.
$ git push origin
Een nieuw teamlid toevoegen:
Nu, laten we zeggen, bob wil bijdragen aan de testrepo Git repository.
Het enige wat hij hoeft te doen is een SSH sleutelpaar te genereren en de publieke sleutel naar de Git server manager te sturen.
Als de Git server manager eenmaal de publieke sleutel van bob heeft, kan hij deze naar de Git server uploaden en toevoegen aan het .ssh/authorized_keys bestand als volgt:
Nu kan bob de testrepo Git-repository als volgt vanaf de server clonen:
testrepo zou gekloond moeten zijn.
Er moet een nieuwe map testrepo worden aangemaakt op de computer van bob.
Nu kan bob als volgt naar de Git repository navigeren:
Hij zou een aantal bestaande commits moeten vinden.
Nu kan bob zijn eigen werk doen en dat committen. Push vervolgens de wijzigingen naar de server.
$ git commit -m ‘Gewijzigd bericht’
Nu, kunnen andere mensen die aan dezelfde repository werken de wijzigingen als volgt overnemen:
Hij/zij zou de commits moeten vinden die bob heeft gemaakt.
Dus, dit is hoe je een Git server met SSH op Ubuntu configureert en gebruikt. Bedankt voor het lezen van dit artikel.