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.