Git

Konfigurirajte strežnik Git s SSH v Ubuntuju

Konfigurirajte strežnik Git s SSH v Ubuntuju
Če imate pri nekaterih projektih majhno število članov ekipe, potem lahko v svoji pisarni nastavite strežnik Git prek SSH in zelo enostavno delate na projektih kot ekipa. V tem primeru vam ni treba uporabljati GitHub ali katere koli druge storitve. Strežnik Git, ki temelji na SSH, je zelo enostaven za namestitev in uporabo. V tem članku vam bom pokazal, kako v Ubuntuju nastaviti Git strežnik s SSH in kako ga uporabiti. Torej, začnimo.

Konfiguriranje strežnika Git:

V tem poglavju vam bom pokazal, kako konfigurirati strežnik Ubuntu kot SSH dostopen strežnik Git.
Najprej posodobite predpomnilnik repozitorija paketov APT z naslednjim ukazom:

$ sudo apt posodobitev

Predpomnilnik skladišča paketov APT je treba posodobiti.

Zdaj namestite strežnik OpenSSH in Git z naslednjim ukazom:

$ sudo apt install openssh-server git

Zdaj pritisnite Y in nato pritisnite za potrditev namestitve.

Namestiti je treba strežnik OpenSSH in Git.

Zdaj ustvarite novega uporabnika git z naslednjim ukazom:

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

Vsa skladišča Git bodo shranjena v domačem imeniku git uporabnik / home / git.

Zdaj se prijavite kot git uporabnik z naslednjim ukazom:

$ sudo su - git

Zdaj ustvarite nov imenik .ssh z naslednjim ukazom:

$ mkdir .ssh

Zdaj pa dovoli samo git uporabnik, da ima v imeniku dovoljenja za branje, pisanje in izvajanje .ssh / kot sledi:

700 chmod dolarjev .ssh /

Kot lahko vidite, git uporabnik ima samo dovoljenja za branje (r), pisanje (w), izvajanje (x) na .ssh / imenik.

$ ls -ld .ssh /

Zdaj ustvarite novo prazno datoteko .ssh / pooblaščene_ključke kot sledi:

$ dotik .ssh / pooblaščene_ključke

Branje in pisanje v datoteko je dovoljeno samo iz git uporabnik, kot sledi:

600 $ chmod .ssh / pooblaščene_ključke

Kot lahko vidite, samo git uporabnik ima dovoljenja za branje (r) in pisanje (w) za datoteko .ssh / pooblaščene_ključke.

V .ssh / pooblaščene_ključke datoteko, morate dodati javni ključ uporabnikov, ki jim želite dostopati do skladišč Git na strežniku Git.

Dodajanje odjemalskega javnega ključa strežniku Git:

Za dostop do skladišč Git na strežniku Git mora odjemalec dodati svoj javni ključ strežniku Git.

Naročnik lahko ustvari par javno-zasebnih ključev, kot sledi:

$ ssh-keygen

Pritisnite .

Pritisnite .

Pritisnite .

Pritisnite .

Zdaj lahko stranka najde svoj javni ključ, kot sledi:

$ mačka ~ /.ssh / id_rsa.pub

Natisniti je treba javni ključ stranke. Zdaj lahko odjemalec ta javni ključ pošlje upravitelju (ki upravlja strežnik Git). Upravitelj lahko nato doda javni ključ strežniku Git. Potem lahko odjemalec dostopa do strežnika Git.

Recimo, da je odjemalec poslal svoj javni ključ upravitelju strežnikov Git. Upravitelj je naložil javni ključ na / tmp / shovon-key.pub datoteko na strežniku Git.

Zdaj lahko upravitelj strežnika Git doda javni ključ odjemalca, kot sledi:

$ cat / tmp / shovon-key.pub >> ~ /.ssh / pooblaščene_ključke

Zdaj pa .ssh / pooblaščene_ključke datoteka mora imeti javni ključ stranke.

Ustvarjanje skladišč Git na strežniku:

Stranke na strežniku ne morejo ustvariti novih skladišč Git. Upravitelj strežnika Git mora na strežniku ustvariti repozitorij. Nato lahko odjemalci klonirajo, potiskajo / vlečejo iz skladišča.

Zdaj ustvarite novo prazno shrambo Git testrepo na strežniku Git, kot sledi:

$ git init --bare testrepo

Zdaj mora odjemalec za dostop do strežnika Git vedeti samo naslov IP strežnika Git testrepo Git repozitorij.

Upravitelj strežnika Git lahko te informacije najde na naslednji način:

$ ip a

Kot lahko vidite, je naslov IP strežnika Git 192.168.21.185. Zdaj lahko upravitelj strežnika to sporoči strankam, ki bodo delale na projektu.

Kloniranje repozitorija Git s strežnika:

Ko odjemalec pozna naslov IP in ime skladišča Git, ga lahko klonira v svoj računalnik, kot sledi:

$ git klon git @ 192.168.21.185: ~ /> testrepo

Zdaj vnesite ja in pritisnite . To boste morali storiti enkrat, le prvič.

The testrepo Skladišče Git je treba klonirati s strežnika.

Nov imenik testrepo je treba ustvariti.

Spreminjanje in potiskanje sprememb na strežniku Git:

Zdaj lahko odjemalec doda zaveze v testrepo / repozitorij in spremembe potisnite na strežnik Git.

$ cd testrepo /

$ echo "Hello world"> test.txt

$ git add .

$ git commit -m 'začetna odobritev'
[/ cc [

[cc lang = "bash"]
$ git push izvor

Dodajanje novega člana ekipe:

Zdaj pa recimo, bob želi prispevati k testrepo Git repozitorij.

Vse, kar mora storiti, je ustvariti par ključev SSH in poslati javni ključ upravitelju strežnika Git.

$ ssh-keygen

Ko ima upravitelj strežnika Git javni ključ bob, lahko ga naloži na strežnik Git in doda na .ssh / pooblaščene_ključke datoteka, kot sledi:

$ cat / tmp / bob-key.pub >> ~ /.ssh / pooblaščene_ključke

Zdaj, bob lahko klonira testrepo Git repozitorij s strežnika, kot sledi:

$ git klon git @ 192.168.21.185: ~ / testrepo

testrepo je treba klonirati.

Nov imenik testrepo je treba ustvariti v bobovem računalniku.

Zdaj lahko bob vodi do skladišča Git na naslednji način:

$ cd testrepo /

Moral bi najti nekaj obstoječih obveznosti.

$ git log

Zdaj, bob lahko opravlja svoje delo in se ga zaveže. Nato spremembe potisnite na strežnik.

$ echo "Hello World 2" >> test.txt

$ git add .
$ git commit -m 'Spremenjeno sporočilo'

$ git push izvor

Zdaj lahko drugi, ki delajo na istem skladišču, izvedejo spremembe na naslednji način:

$ git pull izvor

Moral bi najti zaveze, ki jih bob narejeno.

Torej, tako nastavite Git strežnik s SSH v Ubuntuju in ga uporabite. Hvala, ker ste prebrali ta članek.

Kako uporabiti Xdotool za spodbujanje klikov in pritiskov mišk v Linuxu
Xdotool je brezplačno in odprtokodno orodje za ukazno vrstico, ki simulira klike in pritiske tipk. Ta članek bo zajemal kratek vodnik o uporabi xdotoo...
Najboljših 5 izdelkov z ergonomsko računalniško miško za Linux
Ali dolgotrajna uporaba računalnika povzroča bolečine v zapestju ali prstih? Ali imate trde sklepe in bi se morali neprestano tresti z rokami? Ali čut...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...