Konfigurer git -server med SSH på Ubuntu

Konfigurer git -server med SSH på Ubuntu
Hvis du har et lite antall teammedlemmer som jobber med noen prosjekter, kan du konfigurere en Git -server via SSH på kontoret ditt og jobbe med prosjekter som et team veldig enkelt. Du trenger ikke å bruke GitHub eller andre tjenester i så fall. SSH -basert Git -server er veldig enkel å konfigurere og bruke. I denne artikkelen skal jeg vise deg hvordan du konfigurerer en Git -server med SSH på Ubuntu og hvordan du bruker den. Så la oss komme i gang.

Konfigurere Git -server:

I denne delen skal jeg vise deg hvordan du konfigurerer en Ubuntu -server som en SSH tilgjengelig Git -server.
Oppdater først Apt Package Repository Cache med følgende kommando:

$ sudo apt oppdatering

Apt Package Repository Cache skal oppdateres.

Nå, installer OpenSSH -serveren og git med følgende kommando:

$ sudo apt install openssh-server git

Nå, trykk Y Og trykk deretter For å bekrefte installasjonen.

OpenSSH -server og Git skal installeres.

Lag nå en ny bruker git med følgende kommando:

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

Alle Git -depotene vil bli lagret i hjemmekatalogen til git bruker /hjem/git.

Logg inn som git Bruker med følgende kommando:

$ sudo su - git

Lag nå en ny katalog .ssh med følgende kommando:

$ mkdir .ssh

Tillat bare git Bruker å ha lest, skrive, utførende tillatelser på katalogen .ssh/ følgende:

$ chmod 700 .ssh/

Som du kan se, git Bruker har bare lest (r), skriv (w), utfør (x) tillatelser på .ssh/ katalog.

$ ls -ld .ssh/

Lag nå en ny tom fil .SSH/Authorised_Keys følgende:

$ berøring .SSH/Authorised_Keys

Tillat bare lese og skrive til filen fra git Bruker som følger:

$ chmod 600 .SSH/Authorised_Keys

Som du kan se, bare git Brukeren har lest (r) og skriv (w) tillatelser til filen .SSH/Authorised_Keys.

I .SSH/Authorised_Keys fil, du må legge til den offentlige nøkkelen til brukerne som du vil få tilgang til Git -lagringene på Git -serveren.

Legge til klient offentlig nøkkel til Git -serveren:

For å få tilgang til Git -depotene på Git -serveren, må klienten legge til sin offentlige nøkkel til Git -serveren.

Klienten kan generere et offentlig-privat nøkkelpar som følger:

$ SSH-KeenGen

trykk .

trykk .

trykk .

trykk .

Nå kan klienten finne sin offentlige nøkkel som følger:

$ katt ~/.SSH/ID_RSA.pub

Kundens offentlige nøkkel skal skrives ut. Nå kan klienten sende denne offentlige nøkkelen til manageren (som administrerer Git -serveren). Manageren kan deretter legge til den offentlige nøkkelen til Git -serveren. Da kan klienten få tilgang til Git -serveren.

La oss si, klienten sendte sin offentlige nøkkel til Git Server Manager. Lederen lastet opp den offentlige nøkkelen til /TMP/Shovon-Key.pub fil på git -serveren.

Nå kan Git Server Manager legge til den offentlige nøkkelen til klienten som følger:

$ katt /tmp /shovon-key.pub >> ~/.SSH/Authorised_Keys

Nå, den .SSH/Authorised_Keys filen skal ha den offentlige nøkkelen til klienten.

Opprette Git -depoter på serveren:

Klientene kan ikke opprette nye Git -lagringsplasser på serveren. Git Server Manager må opprette et depot på serveren. Deretter kan klientene klone, skyve/trekke fra depotet.

Lag nå et nytt tomt git -depot Testrepo På Git -serveren som følger:

$ git init - -Fair TestRepo

Nå trenger klienten bare å kjenne IP -adressen til Git -serveren for å få tilgang til Testrepo Git Repository.

Git Server Manager kan finne denne informasjonen som følger:

$ ip a

Som du ser er IP -adressen til Git -serveren 192.168.21.185. Nå kan serverbehandleren fortelle det til klientene som skal jobbe med prosjektet.

Cloning Git Repository fra serveren:

Når klienten kjenner IP -adressen og Git -depotnavnet, kan han/hun klone den til datamaskinen sin som følger:

$ git klon [email protected]: ~/> testrepo

Nå, skriv inn ja og trykk . Du må gjøre dette en gang, bare første gang.

De Testrepo Git -depotet skal klones fra serveren.

En ny katalog Testrepo bør opprettes.

Gjøre endringer og skyve endringer på git -serveren:

Nå kan klienten legge til forpliktelser til testrepo/ depot og skyve endringene til Git -serveren.

$ CD TestRepo/
$ ECHO "Hello World"> Test.tekst
$ git Legg til .
$ git commit -m 'initial commit'
[/cc [

[CC lang = "Bash"]
$ git push origin

Legge til et nytt teammedlem:

Nå, la oss si, Bob ønsker å bidra til Testrepo Git Repository.

Alt han trenger å gjøre er å generere et SSH -nøkkelpar og sende den offentlige nøkkelen til Git Server Manager.

$ SSH-KeenGen

Når Git Server Manager har den offentlige nøkkelen til Bob, Han kan laste den opp til Git -serveren og legge den til i .SSH/Authorised_Keys fil som følger:

$ CAT /TMP /BOB-Key.pub >> ~/.SSH/Authorised_Keys

Nå, Bob kan klone Testrepo Git -depot fra serveren som følger:

$ git klon [email protected]: ~/testrepo

Testrepo skal klones.

En ny katalog Testrepo skal opprettes i Bobs datamaskin.

Nå kan Bob navigere til Git -depotet som følger:

$ CD TestRepo/

Han burde finne noen eksisterende forpliktelser.

$ git log

Nå, Bob kan gjøre sitt eget arbeid og begå det. Dytt deretter endringene til serveren.

$ ECHO "Hello World 2" >> Test.tekst
$ git Legg til .
$ git commit -m 'endret melding'
$ git push origin

Nå kan andre mennesker som jobber med samme depot trekke endringene som følger:

$ git pull opprinnelse

Han/hun burde finne forpliktelsene som Bob laget.

Så det er slik du konfigurerer en Git -server med SSH på Ubuntu og bruker den. Takk for at du leste denne artikkelen.